InstrumentationResultParser

public class InstrumentationResultParser
extends MultiLineReceiver implements IInstrumentationResultParser

java.lang.Object
   ↳ com.android.ddmlib.MultiLineReceiver
     ↳ com.android.tradefed.result.ddmlib.InstrumentationResultParser


シェルから計測テスト実行の「未加工出力モード」の結果を解析し、ITestRunListener に結果を通知します。

次の出力が想定されます。

テストの実行中に致命的なエラーが発生した場合:

 INSTRUMENTATION_STATUS: Error=error Message
 INSTRUMENTATION_FAILED:
 

または

 INSTRUMENTATION_RESULT: shortMsg=error Message
 

それ以外の場合は、一連のテスト結果が返されます。各テスト結果には、開始(1)/ 合格(0)/ 失敗(-2)/ エラー(-1)のステータス コードの結果で区切られたステータス キーと値のペアのセットが含まれます。テスト実行の終了時に、テストの経過時間(秒単位)が表示されることを想定しています。

次に例を示します。

 INSTRUMENTATION_STATUS_CODE: 1
 INSTRUMENTATION_STATUS: class=com.foo.FooTest
 INSTRUMENTATION_STATUS: test=testFoo
 INSTRUMENTATION_STATUS: numtests=2
 INSTRUMENTATION_STATUS: stack=com.foo.FooTest#testFoo:312
    com.foo.X
 INSTRUMENTATION_STATUS_CODE: -2
 ...

 Time: X
 

Key-Value ペアの「値」の部分は、複数のテキスト行に折り返されることがあります。

代わりに InstrumentationProtoResultParser を使用してください。proto ベースのパーサーには、logcat メッセージなどの追加情報があります。

概要

パブリック コンストラクタ

InstrumentationResultParser(String runName, listeners)

InstrumentationResultParser を作成します。

パブリック メソッド

void cancel()

テスト実行のキャンセルをリクエストします。

void done()

adb セッションが完了したときに親によって呼び出されます。

void handleTestRunFailed(String errorMsg)

このメソッドは、「am instrument」コマンドが例外でクラッシュしたときに呼び出されます。

boolean isCancelled()

テスト実行がキャンセルされた場合は true を返します。

void processNewLines(String[] lines)

シェルからのインストルメンテーション テストの出力を処理します。

パブリック コンストラクタ

InstrumentationResultParser

public InstrumentationResultParser (String runName, 
                 listeners)

InstrumentationResultParser を作成します。

パラメータ
runName String: ITestRunListener.testRunStarted(String, int) に提供するテスト実行名

listeners : テストの実行中にテスト結果が通知される

パブリック メソッド

キャンセル

public void cancel ()

テスト実行のキャンセルをリクエストします。

done

public void done ()

adb セッションが完了したときに親から呼び出されます。

handleTestRunFailed

public void handleTestRunFailed (String errorMsg)

このメソッドは、「am instrument」コマンドが例外でクラッシュしたときに呼び出されます。テスト実行中にクラッシュが発生した場合、登録されているすべてのリスナーに ITestRunListener.testRunFailed が通知され、その後に ITestRunListener.testRunEnded(long, ) が通知されます。

パラメータ
errorMsg String

isCancelled

public boolean isCancelled ()

テスト実行がキャンセルされた場合は true を返します。

戻り値
boolean コマンドの実行をキャンセルする場合は true。

processNewLines

public void processNewLines (String[] lines)

シェルからインストルメンテーション テストの出力を処理します。

パラメータ
lines String: 新しい行を含む配列。