ProtoResultReporter

public abstract class ProtoResultReporter
extends Object implements ILogSaverListener, ISupportGranularResults, ITestInvocationListener

java.lang.Object
   ↳ com.android.tradefed.result.proto.ProtoResultReporter


結果レポーターは、すべての結果を含む TestRecord プロトブーブをビルドします。processFinalProto(com.android.tradefed.result.proto.TestRecordProto.TestRecord) の最終的なプロトコルをどのように処理するかを処理するように拡張する必要があります。

概要

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

ProtoResultReporter()

パブリック メソッド

final void invocationEnded(long elapsedTime)

正常に終了したか、なんらかのエラー状態が原因で呼び出しが終了したことを報告します。

void invocationFailed(FailureDescription failure)

エラー状態が原因で呼び出しが完了しなかったことを報告します。

void invocationFailed(Throwable cause)

エラー状態が原因で呼び出しが完了しなかったことを報告します。

void invocationSkipped(SkipReason reason)

呼び出しをスキップ済みとして報告

final void invocationStarted(IInvocationContext context)

テスト呼び出しの開始を報告します。

final void logAssociation(String dataName, LogFile logFile)

場合によっては、ログとテストケースとの関連性を強くする必要がありますが、testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile) 直接コールバックではその関連付けを行うことはできません。

void processFinalInvocationLogs(TestRecordProto.TestRecord invocationLogs)

呼び出しレコードを使用して、呼び出しの最終ログをすべて 1 つずつ送信します。

void processFinalProto(TestRecordProto.TestRecord finalRecord)

すべての結果を含む最終 proto の処理。

void processStartInvocation(TestRecordProto.TestRecord invocationStartRecord, IInvocationContext invocationContext)

invocationStarted(com.android.tradefed.invoker.IInvocationContext) が発生した後の部分呼び出しテスト レコード プロトコルの処理。

void processTestCaseEnded(TestRecordProto.TestRecord testCaseRecord)

ERROR(/#testEnded(com.android.tradefed.result.TestDescription,long,HashMap)) 発生後の確定済みテストケース レコード プロトコルの処理。

void processTestCaseStarted(TestRecordProto.TestRecord testCaseStartedRecord)

testStarted(com.android.tradefed.result.TestDescription, long) が発生した後の部分的なテストケース レコード プロトコルの処理。

void processTestModuleEnd(TestRecordProto.TestRecord moduleRecord)

testModuleEnded() が発生した後の、ファイナライズされたモジュール レコード proto の処理。

void processTestModuleStarted(TestRecordProto.TestRecord moduleStartRecord)

testModuleStarted(com.android.tradefed.invoker.IInvocationContext) が発生した後の部分モジュール レコード プロトコルの処理。

void processTestRunEnded(TestRecordProto.TestRecord runRecord, boolean moduleInProgress)

ERROR(/#testRunEnded(long,HashMap)) が発生した後の、確定済み実行レコード proto の処理。

void processTestRunStarted(TestRecordProto.TestRecord runStartedRecord)

testRunStarted(String, int) が発生した後の部分テスト実行レコード プロトコルの処理。

void setGranularResults(boolean granularResults)
void setInlineRecordOfChildren(boolean inline)
boolean supportGranularResults()

レポーターが詳細な結果をサポートしている場合は true、そうでない場合は false を返します。

final void testAssumptionFailure(TestDescription test, String trace)

アトミック テストが false の条件を前提としていることを報告するフラグが立てられたときに呼び出されます。

final void testAssumptionFailure(TestDescription test, FailureDescription failure)

アトミック テストが false の条件を前提としていることを報告するフラグが立てられたときに呼び出されます。

final void testEnded(TestDescription test, long endTime, testMetrics)

終了時間を直接指定できる ERROR(/#testEnded(com.android.tradefed.result.TestDescription,Map)) の代替手段。

void testEnded(TestDescription test, testMetrics)

個々のテストケースの実行終了を報告します。

final void testFailed(TestDescription test, FailureDescription failure)

個々のテストケースの失敗を報告します。

final void testFailed(TestDescription test, String trace)

個々のテストケースの失敗を報告します。

final void testIgnored(TestDescription test)

テストが実行されない場合に呼び出されます。通常は、テストメソッドに org.junit.Ignore がアノテーションされているためです。

final void testModuleEnded()

モジュールの実行の終了を報告します。

final void testModuleStarted(IInvocationContext moduleContext)

モジュールの実行開始を報告します。

final void testRunEnded(long elapsedTimeMillis, runMetrics)

テスト実行の終了を報告します。

final void testRunFailed(FailureDescription failure)

FailureDescription で説明されているエラーのため、テスト実行を完了できなかったことを報告します。

final void testRunFailed(String errorMessage)

致命的なエラーのため、テスト実行を完了できなかったと報告する。

void testRunStarted(String runName, int testCount, int attemptNumber)

テスト実行の開始を報告します。

final void testRunStarted(String runName, int testCount)

テスト実行の開始を報告します。

void testRunStarted(String runName, int testCount, int attemptNumber, long startTime)

テスト実行の開始を報告します。

final void testSkipped(TestDescription test, SkipReason reason)

通常想定されない理由でテストがスキップされ、実行されなかった場合に呼び出されます。

final void testStarted(TestDescription test, long startTime)

testStarted(com.android.tradefed.result.TestDescription) の代替手段。テストの開始日時も指定します。ERROR(/#testEnded(com.android.tradefed.result.TestDescription,long,Map)) と組み合わせて正確な測定を行います。

final void testStarted(TestDescription test)

個々のテストケースの開始を報告します。

保護されたメソッド

void afterModuleEnd()
void beforeModuleStart()
TestRecordProto.ChildReference createModuleChildReference(TestRecordProto.TestRecord record)

モジュールの子参照を作成します。

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

ProtoResultReporter

public ProtoResultReporter ()

パブリック メソッド

invocationEnded

public final void invocationEnded (long elapsedTime)

呼び出しが正常に終了したか、なんらかのエラー状態が原因で終了したかを報告します。

TradeFederation フレームワークによって自動的に呼び出されます。

パラメータ
elapsedTime long: 呼び出しの所要時間(ミリ秒単位)

invocationFailed

public void invocationFailed (FailureDescription failure)

エラー条件により不完全な呼び出しを報告します。

TradeFederation フレームワークによって自動的に呼び出されます。

パラメータ
failure FailureDescription: 障害の原因を説明する FailureDescription

invocationFailed

public void invocationFailed (Throwable cause)

エラー条件により不完全な呼び出しを報告します。

TradeFederation フレームワークによって自動的に呼び出されます。

パラメータ
cause Throwable: 失敗の原因である Throwable

invocationSkipped

public void invocationSkipped (SkipReason reason)

呼び出しをスキップとして報告する

パラメータ
reason SkipReason

invocationStarted

public final void invocationStarted (IInvocationContext context)

テスト呼び出しの開始を報告します。

TradeFederation フレームワークによって自動的に呼び出されます。複数のデバイスのレポートをサポートするには、レポーターがこのメソッドをオーバーライドする必要があります。

パラメータ
context IInvocationContext: 呼び出しに関する情報

logAssociation

public final void logAssociation (String dataName, 
                LogFile logFile)

場合によっては、ログをテストケースに強く関連付ける必要があります。しかし、直接の testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile) コールバックでそうすることはできません。したがって、このコールバックを使用すると、強い関連付けを明示的に指定できます。

パラメータ
dataName String: データの名前

logFile LogFile: 前にロギングされ、テストケースに関連付ける必要がある LogFile

processFinalInvocationLogs

public void processFinalInvocationLogs (TestRecordProto.TestRecord invocationLogs)

呼び出しレコードを使用して、呼び出しの最終ログをすべて 1 つずつ送信します。

パラメータ
invocationLogs TestRecordProto.TestRecord: 呼び出しを表すファイナライズされたプロト。

processFinalProto

public void processFinalProto (TestRecordProto.TestRecord finalRecord)

すべての結果を含む最終プロトコルの処理。

パラメータ
finalRecord TestRecordProto.TestRecord: すべての呼び出し結果を含むファイナライズされた proto。

processStartInvocation

public void processStartInvocation (TestRecordProto.TestRecord invocationStartRecord, 
                IInvocationContext invocationContext)

invocationStarted(com.android.tradefed.invoker.IInvocationContext) が発生した後の部分呼び出しテストレコードの proto の処理。

パラメータ
invocationStartRecord TestRecordProto.TestRecord: invocationStart の後に入力された部分的な proto。

invocationContext IInvocationContext: 呼び出し IInvocationContext

processTestCaseEnded

public void processTestCaseEnded (TestRecordProto.TestRecord testCaseRecord)

ERROR(/#testEnded(com.android.tradefed.result.TestDescription,long,HashMap)) 発生後の確定済みテストケース レコード プロトコルの処理。

パラメータ
testCaseRecord TestRecordProto.TestRecord: テストケースを表す最終的な proto。

processTestCaseStarted

public void processTestCaseStarted (TestRecordProto.TestRecord testCaseStartedRecord)

testStarted(com.android.tradefed.result.TestDescription, long) が発生した後の部分的なテストケース レコード プロトコルの処理。

パラメータ
testCaseStartedRecord TestRecordProto.TestRecord: テストケースを表す部分プロトコル。

processTestModuleEnd

public void processTestModuleEnd (TestRecordProto.TestRecord moduleRecord)

testModuleEnded() が発生した後のファイナライズされたモジュール レコード proto の処理。

パラメータ
moduleRecord TestRecordProto.TestRecord: モジュールを表す最終的な proto。

processTestModuleStarted

public void processTestModuleStarted (TestRecordProto.TestRecord moduleStartRecord)

testModuleStarted(com.android.tradefed.invoker.IInvocationContext) が発生した後の部分モジュール レコード proto の処理。

パラメータ
moduleStartRecord TestRecordProto.TestRecord: モジュールを表す部分プロトコル。

processTestRunEnded

public void processTestRunEnded (TestRecordProto.TestRecord runRecord, 
                boolean moduleInProgress)

ERROR(/#testRunEnded(long,HashMap)) が発生した後の、確定済み実行レコード proto の処理。

パラメータ
runRecord TestRecordProto.TestRecord: 実行を表すファイナライズされたプロト。

moduleInProgress boolean: モジュールが進行中かどうか。

processTestRunStarted

public void processTestRunStarted (TestRecordProto.TestRecord runStartedRecord)

testRunStarted(String, int) が発生した後の部分テスト実行レコード プロトコルの処理。

パラメータ
runStartedRecord TestRecordProto.TestRecord: 実行を表す部分プロトコル。

setGranularResults

public void setGranularResults (boolean granularResults)

パラメータ
granularResults boolean

setInlineRecordOfChildren

public void setInlineRecordOfChildren (boolean inline)

パラメータ
inline boolean

supportGranularResults

public boolean supportGranularResults ()

レポーターが詳細な結果をサポートしている場合は true、それ以外の場合は false を返します。

戻り値
boolean

testAssumptionFailure

public final void testAssumptionFailure (TestDescription test, 
                String trace)

アトミック テストが false の条件を前提としていることを報告するフラグが立てられたときに呼び出されます。

パラメータ
test TestDescription: テストを識別します。

trace String: 障害のスタック トレース

testAssumptionFailure

public final void testAssumptionFailure (TestDescription test, 
                FailureDescription failure)

アトミック テストが false の条件を前提としていることを報告するフラグが立てられたときに呼び出されます。

パラメータ
test TestDescription: テストを識別します。

failure FailureDescription: エラーとそのコンテキストを記述する FailureDescription

testEnded

public final void testEnded (TestDescription test, 
                long endTime, 
                 testMetrics)

終了時間を直接指定できる ERROR(/#testEnded(com.android.tradefed.result.TestDescription,Map)) の代替手段。正確な測定を行うには、testStarted(com.android.tradefed.result.TestDescription, long) と組み合わせてください。

パラメータ
test TestDescription: テストを識別します。

endTime long: テストが終了した時刻(System.currentTimeMillis() で測定)

testMetrics : 出力された指標の ERROR(/Map)

testEnded

public void testEnded (TestDescription test, 
                 testMetrics)

個々のテストケースの実行終了を報告します。

testFailed(TestDescription, FailureDescription) が呼び出されなかった場合、このテストは合格です。また、テストケースの実行中に生成された可能性がある Key-Value 指標も返します。

パラメータ
test TestDescription: テストを識別します。

testMetrics : 出力された指標の ERROR(/Map)

testFailed

public final void testFailed (TestDescription test, 
                FailureDescription failure)

個々のテストケースの失敗を報告します。

testStarted と testEnded の間で呼び出されます。

パラメータ
test TestDescription: テストを識別します。

failure FailureDescription: エラーとそのコンテキストを記述する FailureDescription

testFailed

public final void testFailed (TestDescription test, 
                String trace)

個々のテストケースの失敗を報告します。

testStarted と testEnded の間で呼び出されます。

パラメータ
test TestDescription: テストを識別します。

trace String: 障害のスタック トレース

testIgnored

public final void testIgnored (TestDescription test)

テストが実行されないときに呼び出されます。通常はテストメソッドに org.junit.Ignore のアノテーションが付加されているためです。

パラメータ
test TestDescription: テストを識別します。

testModuleEnded

public final void testModuleEnded ()

モジュールの実行の終了を報告します。

testModuleStarted

public final void testModuleStarted (IInvocationContext moduleContext)

実行中のモジュールの開始を報告します。このコールバックは testModuleEnded() に関連付けられており、シーケンスでは省略可能です。モジュール(スイートベースのランナー)を使用する実行中にのみ使用されます。

パラメータ
moduleContext IInvocationContext: モジュールの IInvocationContext

testRunEnded

public final void testRunEnded (long elapsedTimeMillis, 
                 runMetrics)

テスト実行の終了を報告します。

パラメータ
elapsedTimeMillis long: デバイスで報告された経過時間(ミリ秒単位)

runMetrics : テスト実行の終了時に報告される Key-Value ペア

testRunFailed

public final void testRunFailed (FailureDescription failure)

FailureDescription で説明されているエラーが原因で、テスト実行が完了しなかったことを報告します。

パラメータ
failure FailureDescription: 障害とそのコンテキストを記述する FailureDescription

testRunFailed

public final void testRunFailed (String errorMessage)

致命的なエラーが発生したため、レポートのテスト実行が完了しませんでした。

パラメータ
errorMessage String: 実行失敗の理由を説明する String

testRunStarted

public void testRunStarted (String runName, 
                int testCount, 
                int attemptNumber)

テスト実行の開始を報告します。

パラメータ
runName String: テスト実行名

testCount int: テスト実行のテスト数の合計

attemptNumber int: 複数回実行される同じ runName の異なる試行を識別する注文番号。attemptNumber は 0 から始まり、新しい実行が行われるたびにインクリメントされます。たとえば、テストが 3 回きめ細かく再試行された場合、同じ runName で合計 4 回の実行が行われ、attemptNumber は 0 ~ 3 になります。

testRunStarted

public final void testRunStarted (String runName, 
                int testCount)

テスト実行の開始を報告します。

パラメータ
runName String: テスト実行名

testCount int: テスト実行のテストの合計数

testRunStarted

public void testRunStarted (String runName, 
                int testCount, 
                int attemptNumber, 
                long startTime)

テスト実行の開始を報告します。

パラメータ
runName String: テスト実行名

testCount int: テスト実行のテスト数の合計

attemptNumber int: オーダー番号。同じ runName を複数回実行する際の試行を識別します。tryNumber の値は 0 から始まり、新しい実行が発生するたびに増加します。たとえば、テストを 3 回細かく再試行する場合、同じ runName で合計 4 回の実行が必要であり、AttemptNumber は 0 ~ 3 です。

startTime long: 実行が開始された時刻(System.currentTimeMillis() で測定)

testSkipped

public final void testSkipped (TestDescription test, 
                SkipReason reason)

通常想定されない理由でテストがスキップされ、実行されなかった場合に呼び出されます。これらのテストは、適切な実行を試すために再試行されます。

パラメータ
test TestDescription: テストを識別します。

reason SkipReason: SkipReason

testStarted

public final void testStarted (TestDescription test, 
                long startTime)

testStarted(com.android.tradefed.result.TestDescription) の代替手段。テストの開始時刻も指定します。ERROR(/#testEnded(com.android.tradefed.result.TestDescription,long,Map)) と組み合わせて正確な測定を行います。

パラメータ
test TestDescription: テストを識別します。

startTime long: テストの開始時間(System.currentTimeMillis() で測定)

testStarted

public final void testStarted (TestDescription test)

個々のテストケースの開始を報告します。古いインターフェース。可能な限り testStarted(com.android.tradefed.result.TestDescription) を使用してください。

パラメータ
test TestDescription: テストを識別します。

保護されたメソッド

afterModuleEnd

protected void afterModuleEnd ()

beforeModuleStart

protected void beforeModuleStart ()

createModuleChildReference

protected TestRecordProto.ChildReference createModuleChildReference (TestRecordProto.TestRecord record)

モジュールの子参照を作成します。

パラメータ
record TestRecordProto.TestRecord

戻り値
TestRecordProto.ChildReference