InstrumentationProtoResultParser
public
class
InstrumentationProtoResultParser
extends Object
implements
IInstrumentationResultParser
| java.lang.Object | |
| ↳ | com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser |
यह शेल से चलाए गए इंस्ट्रुमेंटेशन टेस्ट के 'protoStd आउटपुट मोड' के नतीजों को पार्स करता है और नतीजों के बारे में ITestRunListener को बताता है.
"-m" विकल्प के साथ Am इंस्ट्रूमेंट कमांड, टेस्ट के स्टेटस को बाइनरी प्रोटोबस फ़ॉर्मैट में धीरे-धीरे दिखाता है. आउटपुट protobuf मैसेज InstrumentationData.Session है, जिसमें दो फ़ील्ड हैं: 1) InstrumentationData.TestStatus का दोहराया गया फ़ील्ड, 2) InstrumentationData.SessionStatus. am instrument कमांड, हर टेस्ट के होने से पहले/बाद में, टेस्ट स्टेटस का मैसेज दिखाता है. addOutput(byte, int, int) को data आर्ग्युमेंट के साथ कॉल किया जाता है, जो TestStatus(es) के सीरियलाइज़ किए गए बाइट होते हैं. सभी टेस्ट पूरे होने के बाद, कमांड आखिर में SessionStatus दिखाता है.
protobuf की पूरी परिभाषा के लिए, https://cs.android.com/android/platform/superproject/+/master:frameworks/base/cmds/am/proto/instrumentation_data.proto पर जाएं.
InstrumentationProtoResultParser एक स्टेट-मशीन है और स्टेट को ERROR(InstrumentationProtoResultParserState/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState InstrumentationProtoResultParserState) में तय किया जाता है. स्टेटस ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#NOT_STARTED) से शुरू होता है. जब उसे पहला टेस्ट केस स्टेटस दिखता है, तो वह ERROR(InstrumentationProtoResultParserState.RUNNING/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#RUNNING InstrumentationProtoResultParserState.RUNNING) पर मूव हो जाता है. सभी टेस्ट पूरे होने पर, स्थिति ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#FINISHED) में बदल जाती है. अगर cancel() को कॉल करके अनुरोध किया जाता है, तो स्थिति ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#CANCELLED) में बदल जाती है.
टेस्ट का नया स्टेटस उपलब्ध होने पर, रजिस्टर किए गए दर्शकों को इसकी सूचना दी जाएगी.
खास जानकारी
पब्लिक कंस्ट्रक्टर | |
|---|---|
InstrumentationProtoResultParser(String runName,
|
|
सार्वजनिक तरीके | |
|---|---|
void
|
addOutput(byte[] data, int offset, int length)
जब भी नया डेटा उपलब्ध होता है, तब इस तरीके को कॉल किया जाता है. |
void
|
cancel()
|
void
|
flush()
|
void
|
handleTestRunFailed(String errorMsg)
|
boolean
|
isCancelled()
|
पब्लिक कंस्ट्रक्टर
InstrumentationProtoResultParser
public InstrumentationProtoResultParser (String runName,
listeners) InstrumentationProtoResultParser बनाता है.
| पैरामीटर | |
|---|---|
runName |
String: ITestRunListener.testRunStarted को दिया जाने वाला टेस्ट रन का नाम |
listeners |
: टेस्ट के दौरान, टेस्ट के नतीजों के बारे में सूचना मिलती है |
सार्वजनिक तरीके
addOutput
public void addOutput (byte[] data,
int offset,
int length)जब भी नया डेटा उपलब्ध होता है, तब इस तरीके को कॉल किया जाता है.
| पैरामीटर | |
|---|---|
data |
byte: InstrumentationData.Session मैसेज का सीरियलाइज़ किया गया डेटा. अगर data
अधूरा चंक है, तो उसे इंटरनल बफ़र में जोड़ दिया जाता है और अगले addOutput(byte, int, int) कॉल में प्रोसेस किया जाता है. |
offset |
int: data में सेव किए गए नए डेटा का ऑफ़सेट |
length |
int: data में मौजूद नए डेटा के बाइट, जिन्हें प्रोसेस करना है. |
अभी नहीं
public void cancel ()
फ़्लश
public void flush ()
handleTestRunFailed
public void handleTestRunFailed (String errorMsg)
| पैरामीटर | |
|---|---|
errorMsg |
String |
isCancelled
public boolean isCancelled ()
| रिटर्न | |
|---|---|
boolean |
|