InstrumentationProtoResultParser
public
class
InstrumentationProtoResultParser
extends Object
implements
IInstrumentationResultParser
java.lang.Object | |
↳ | com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser |
シェルから実行されたインストルメンテーション テストの「protoStd 出力モード」の結果を解析し、ITestRunListener に結果を通知します。
「-m」オプションを指定した am instrument コマンドは、テスト実行ステータスをバイナリ protobuf 形式で段階的に出力します。出力 protobuf メッセージは InstrumentationData.Session
で、2 つのフィールド(1)InstrumentationData.TestStatus
の繰り返しフィールド、2)InstrumentationData.SessionStatus
があります。am instrument コマンドは、各テストの実行の前後にテスト ステータス メッセージを出力します。addOutput(byte, int, int)
は、TestStatus
のシリアル化されたバイトである data
引数で呼び出されます。すべてのテストが完了すると、コマンドは最後に 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 |