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 |
|