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)
場合によっては、ログとテストケースとの関連性を強くする必要がありますが、 |
void
|
processFinalInvocationLogs(TestRecordProto.TestRecord invocationLogs)
呼び出しレコードを使用して、呼び出しの最終ログをすべて 1 つずつ送信します。 |
void
|
processFinalProto(TestRecordProto.TestRecord finalRecord)
すべての結果を含む最終 proto の処理。 |
void
|
processStartInvocation(TestRecordProto.TestRecord invocationStartRecord, IInvocationContext invocationContext)
|
void
|
processTestCaseEnded(TestRecordProto.TestRecord testCaseRecord)
|
void
|
processTestCaseStarted(TestRecordProto.TestRecord testCaseStartedRecord)
|
void
|
processTestModuleEnd(TestRecordProto.TestRecord moduleRecord)
|
void
|
processTestModuleStarted(TestRecordProto.TestRecord moduleStartRecord)
|
void
|
processTestRunEnded(TestRecordProto.TestRecord runRecord, boolean moduleInProgress)
|
void
|
processTestRunStarted(TestRecordProto.TestRecord runStartedRecord)
|
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,
終了時間を直接指定できる |
void
|
testEnded(TestDescription test,
個々のテストケースの実行終了を報告します。 |
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,
テスト実行の終了を報告します。 |
final
void
|
testRunFailed(FailureDescription failure)
|
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)
|
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 |