InstrumentationResultParser

public class InstrumentationResultParser
extends MultiLineReceiver implements IInstrumentationResultParser

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


インストルメンテーション テスト実行の「raw output mode」の結果をシェルから解析し、 ITestRunListener に結果を通知します。

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

テストの実行を試みたときに致命的なエラーが発生した場合:

 INSTRUMENTATION_STATUS: Error=error Message
 INSTRUMENTATION_FAILED:
 

または

 INSTRUMENTATION_RESULT: shortMsg=error Message
 

それ以外の場合は、一連のテスト結果が想定されます。各テスト結果には、ステータス キーと値のペアのセット が含まれ、start(1) / pass(0) / fail(-2) / error(-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 ペアの「value」部分が複数のテキスト行に折り返される場合があることに注意してください。

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

概要

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

InstrumentationResultParser(String runName, ITestRunListener listener)

単一のリスナーに対して InstrumentationResultParser を作成します。

InstrumentationResultParser(String runName, Collection<ITestRunListener> 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, 
                ITestRunListener listener)

単一のリスナーに対して InstrumentationResultParser を作成します。

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

listener ITestRunListener: テストの実行時にテスト結果が通知されます

InstrumentationResultParser

public InstrumentationResultParser (String runName, 
                Collection<ITestRunListener> listeners)

InstrumentationResultParser を作成します。

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

listeners Collection: テストの実行時にテスト結果が通知されます

パブリック メソッド

キャンセル

public void cancel ()

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

完了

public void done ()

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

handleTestRunFailed

public void handleTestRunFailed (String errorMsg)

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

パラメータ
errorMsg String

isCancelled

public boolean isCancelled ()

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

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

processNewLines

public void processNewLines (String[] lines)

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

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