ResultDBReporter
public
class
ResultDBReporter
extends Object
implements
IConfigurationReceiver,
ILogSaverListener,
ISupportGranularResults,
ITestSummaryListener
| java.lang.Object | |
| ↳ | com.android.tradefed.result.resultdb.ResultDBReporter |
テスト結果を ResultDB にアップロードする結果レポーター。
概要
フィールド | |
|---|---|
protected
IInvocationContext |
mContext
|
protected
boolean |
mEnableAlTestProperties
|
パブリック コンストラクタ | |
|---|---|
ResultDBReporter()
|
|
パブリック メソッド | |
|---|---|
TestSummary
|
getSummary()
InvocationListener が概要を返すことを許可します。 |
void
|
invocationEnded(long elapsedTime)
呼び出しが終了したことを報告します(成功した場合も、エラー条件が原因で終了した場合も同様です)。 |
void
|
invocationFailed(FailureDescription failure)
エラー条件のため、呼び出しが不完全であることを報告します。 |
void
|
invocationFailed(Throwable cause)
エラー条件のため、呼び出しが不完全であることを報告します。 |
void
|
invocationSkipped(SkipReason reason)
呼び出しをスキップとして報告します。 |
void
|
invocationStarted(IInvocationContext context)
テスト呼び出しの開始を報告します。 |
boolean
|
isDisabled()
|
void
|
logAssociation(String dataName, LogFile logFile)
場合によっては、ログをテストケースに強く関連付ける必要がありますが、直接の |
void
|
setConfiguration(IConfiguration configuration)
使用中の |
void
|
setLogSaver(ILogSaver logSaver)
実装者がファイルを保存できるように |
boolean
|
supportGranularResults()
レポートが詳細な結果をサポートしている場合は True、そうでない場合は False を返します。 |
void
|
testAssumptionFailure(TestDescription test, String trace)
アトミック テストが、false の条件を想定していることを示すフラグを設定したときに呼び出されます。 |
void
|
testAssumptionFailure(TestDescription test, FailureDescription failure)
アトミック テストが、false の条件を想定していることを示すフラグを設定したときに呼び出されます。 |
void
|
testEnded(TestDescription test, long endTime, HashMap<String, MetricMeasurement.Metric> testMetrics)
終了時間を直接指定できる |
void
|
testEnded(TestDescription test, HashMap<String, MetricMeasurement.Metric> testMetrics)
個々のテストケースの実行終了を報告します。 |
void
|
testFailed(TestDescription test, FailureDescription failure)
個々のテストケースの失敗を報告します。 |
void
|
testFailed(TestDescription test, String trace)
個々のテストケースの失敗を報告します。 |
void
|
testIgnored(TestDescription test)
テストが実行されない場合に呼び出されます。通常、テストメソッドに org.junit.Ignore のアノテーションが付いていることが原因です。 |
void
|
testLog(String dataName, LogDataType dataType, InputStreamSource dataStream)
テスト呼び出しから関連するログまたはデバッグデータを提供します。 |
void
|
testModuleEnded()
モジュール実行の終了を報告します。 |
void
|
testModuleStarted(IInvocationContext moduleContext)
モジュールの実行の開始を報告します。 |
void
|
testRunEnded(long elapsedTimeMillis, HashMap<String, MetricMeasurement.Metric> runMetrics)
テスト実行の終了を報告します。 |
void
|
testRunFailed(FailureDescription failure)
|
void
|
testRunFailed(String errorMessage)
致命的なエラーのため、レポートのテスト実行を完了できませんでした。 |
void
|
testRunStarted(String runName, int testCount, int attemptNumber)
テスト実行の開始を報告します。 |
void
|
testRunStarted(String runName, int testCount)
テスト実行の開始を報告します。 |
void
|
testRunStarted(String runName, int testCount, int attemptNumber, long startTime)
テスト実行の開始を報告します。 |
void
|
testRunStopped(long elapsedTime)
ユーザーのリクエストにより、レポートのテスト実行が完了前に停止しました。 |
void
|
testSkipped(TestDescription test, SkipReason reason)
テストがスキップされ、通常は想定されない理由で実行されなかった場合に呼び出されます。 |
void
|
testStarted(TestDescription test, long startTime)
|
void
|
testStarted(TestDescription test)
個々のテストケースの開始を報告します。 |
void
|
uploadStoragePath(String resourceId, String storagePath, LogFile logFile)
AnTS テスト アーティファクトのストレージ パスを ResultDB にアップロードします。 |
フィールド
mEnableAlTestProperties
protected boolean mEnableAlTestProperties
パブリック コンストラクタ
ResultDBReporter
public ResultDBReporter ()
パブリック メソッド
getSummary
public TestSummary getSummary ()
InvocationListener が概要を返すことを許可します。
| 戻り値 | |
|---|---|
TestSummary |
実行を要約する TestSummary、または null |
invocationEnded
public 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 void invocationStarted (IInvocationContext context)
テスト呼び出しの開始を報告します。
TradeFederation フレームワークによって自動的に呼び出されます。複数のデバイスのレポートをサポートするには、レポート作成者がこのメソッドをオーバーライドする必要があります。
| パラメータ | |
|---|---|
context |
IInvocationContext: 呼び出しに関する情報 |
isDisabled
public boolean isDisabled ()
| 戻り値 | |
|---|---|
boolean |
|
logAssociation
public void logAssociation (String dataName,
LogFile logFile)ログをテストケースに強く関連付ける必要がある場合もありますが、直接の testLogSaved(String,LogDataType,InputStreamSource,LogFile) コールバックでそれを行うことはできません。したがって、このコールバックを使用すると、強力な関連付けを明示的に指定できます。
| パラメータ | |
|---|---|
dataName |
String: データの名前 |
logFile |
LogFile: 以前にロギングされ、テストケースに関連付ける必要がある LogFile。 |
setConfiguration
public void setConfiguration (IConfiguration configuration)
使用中の IConfiguration を挿入します。
| パラメータ | |
|---|---|
configuration |
IConfiguration |
setLogSaver
public void setLogSaver (ILogSaver logSaver)
実装者がファイルを保存できるように ILogSaver を設定します。
| パラメータ | |
|---|---|
logSaver |
ILogSaver: ILogSaver |
supportGranularResults
public boolean supportGranularResults ()
レポートが詳細な結果をサポートしている場合は True、そうでない場合は False を返します。
| 戻り値 | |
|---|---|
boolean |
|
testAssumptionFailure
public void testAssumptionFailure (TestDescription test, String trace)
アトミック テストが、false の条件を想定していることを示すフラグを設定したときに呼び出されます
| パラメータ | |
|---|---|
test |
TestDescription: テストを識別します |
trace |
String: 失敗のスタック トレース |
testAssumptionFailure
public void testAssumptionFailure (TestDescription test, FailureDescription failure)
アトミック テストが、false の条件を想定していることを示すフラグを設定したときに呼び出されます
| パラメータ | |
|---|---|
test |
TestDescription: テストを識別します |
failure |
FailureDescription: 失敗とそのコンテキストを説明する FailureDescription。 |
testEnded
public void testEnded (TestDescription test, long endTime, HashMap<String, MetricMeasurement.Metric> testMetrics)
終了時間を直接指定できる testEnded(TestDescription,Map) の代替。testStarted(TestDescription,long) と組み合わせて正確な測定を行います。
| パラメータ | |
|---|---|
test |
TestDescription: テストを識別します |
endTime |
long: テストが終了した時刻(System.currentTimeMillis() で測定) |
testMetrics |
HashMap: 出力された指標の Map |
testEnded
public void testEnded (TestDescription test, HashMap<String, MetricMeasurement.Metric> testMetrics)
個々のテストケースの実行終了を報告します。
testFailed(TestDescription, FailureDescription) が呼び出されなかった場合、このテストは合格です。テストケースの実行中に生成された Key-Value 指標も返します。
| パラメータ | |
|---|---|
test |
TestDescription: テストを識別します |
testMetrics |
HashMap: 出力された指標の Map |
testFailed
public void testFailed (TestDescription test, FailureDescription failure)
個々のテストケースの失敗を報告します。
testStarted と testEnded の間に呼び出されます。
| パラメータ | |
|---|---|
test |
TestDescription: テストを識別します |
failure |
FailureDescription: 失敗とそのコンテキストを説明する FailureDescription。 |
testFailed
public void testFailed (TestDescription test, String trace)
個々のテストケースの失敗を報告します。
testStarted と testEnded の間に呼び出されます。
| パラメータ | |
|---|---|
test |
TestDescription: テストを識別します |
trace |
String: 失敗のスタック トレース |
testIgnored
public void testIgnored (TestDescription test)
テストが実行されない場合に呼び出されます。通常、テストメソッドに org.junit.Ignore のアノテーションが付いていることが原因です。
| パラメータ | |
|---|---|
test |
TestDescription: テストを識別します |
testLog
public void testLog (String dataName,
LogDataType dataType,
InputStreamSource dataStream)テスト呼び出しに関連するログデータまたはデバッグデータを提供します。
ERROR(ITestInvocationListener.invocationFailed(Throwable)/ITestInvocationListener#invocationFailed(java.lang.Throwable) ITestInvocationListener.invocationFailed(Throwable)) または ERROR(/ITestInvocationListener#invocationEnded(long)) の前に呼び出す必要があります。
TradeFederation フレームワークは、このメソッドを自動的に呼び出し、ホストログと、該当する場合はデバイスの logcat を提供します。
| パラメータ | |
|---|---|
dataName |
String: データの String 説明的な名前(例: device_logcat)。注: dataName は呼び出しごとに一意でない場合があります。つまり、実装者は同じ dataName での複数の呼び出しを処理できる必要があります。 |
dataType |
LogDataType: データの LogDataType |
dataStream |
InputStreamSource: データの InputStreamSource。実装者は、createInputStream を呼び出してデータの読み取りを開始し、完了したら結果の InputStream を必ず閉じます。呼び出し元は、testLog メソッドが完了するまで、データのソースが存在し、アクセス可能であることを確認する必要があります。 |
testModuleEnded
public void testModuleEnded ()
モジュール実行の終了を報告します。
testModuleStarted
public void testModuleStarted (IInvocationContext moduleContext)
モジュールの実行開始を報告します。このコールバックは testModuleEnded() に関連付けられており、シーケンスでは省略可能です。モジュールを使用する実行(スイートベースのランナー)でのみ使用されます。
| パラメータ | |
|---|---|
moduleContext |
IInvocationContext: モジュールの IInvocationContext。 |
testRunEnded
public void testRunEnded (long elapsedTimeMillis,
HashMap<String, MetricMeasurement.Metric> runMetrics)テスト実行の終了を報告します。FIXME: 型が異なる Map<> インターフェースを 2 つ持つことはできないため、ここでは HashMap を使用する必要があります。
| パラメータ | |
|---|---|
elapsedTimeMillis |
long: デバイスが報告した経過時間(ミリ秒単位) |
runMetrics |
HashMap: Metric を使用したテスト実行の最後にレポートされる Key-Value ペア。 |
testRunFailed
public void testRunFailed (FailureDescription failure)
FailureDescription で説明されているエラーのため、レポート テスト実行を完了できませんでした。
| パラメータ | |
|---|---|
failure |
FailureDescription: 失敗とそのコンテキストを説明する FailureDescription。 |
testRunFailed
public void testRunFailed (String errorMessage)
致命的なエラーのため、レポートのテスト実行を完了できませんでした。
| パラメータ | |
|---|---|
errorMessage |
String: 実行の失敗理由を説明する String。 |
testRunStarted
public void testRunStarted (String runName,
int testCount,
int attemptNumber)テスト実行の開始を報告します。
| パラメータ | |
|---|---|
runName |
String: テスト実行名 |
testCount |
int: テスト実行のテストの合計数 |
attemptNumber |
int: 実行名が同じで複数回実行される異なる試行を識別する注文番号。attemptNumber は 0 から始まり、新しい実行が発生するたびに増分されます。たとえば、テストが 3 回きめ細かく再試行される場合、同じ runName で合計 4 回の実行が行われ、attemptNumber は 0 ~ 3 になります。 |
testRunStarted
public 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: 実行名が同じで複数回実行される異なる試行を識別する注文番号。attemptNumber は 0 から始まり、新しい実行が発生するたびに増分されます。たとえば、テストが 3 回再試行される場合、同じ runName で合計 4 回実行され、attemptNumber は 0 ~ 3 になります。 |
startTime |
long: 実行の開始時刻(System.currentTimeMillis() で測定) |
testRunStopped
public void testRunStopped (long elapsedTime)
ユーザーのリクエストにより、レポートのテスト実行が完了前に停止しました。
TODO: 現在使用されていません。削除することを検討してください
| パラメータ | |
|---|---|
elapsedTime |
long: デバイスが報告した経過時間(ミリ秒単位) |
testSkipped
public void testSkipped (TestDescription test, SkipReason reason)
通常は想定されない理由でテストがスキップされ、実行されなかった場合に呼び出されます。これらのテストは、適切な実行を試みるために再試行されます。
| パラメータ | |
|---|---|
test |
TestDescription: テストを識別します |
reason |
SkipReason: SkipReason |
testStarted
public void testStarted (TestDescription test, long startTime)
testStarted(TestDescription) の代替。テストの開始時刻も指定し、testEnded(TestDescription,long,Map) と組み合わせて正確な測定を行います。
| パラメータ | |
|---|---|
test |
TestDescription: テストを識別します |
startTime |
long: テストが開始された時刻(System.currentTimeMillis() で測定) |
testStarted
public void testStarted (TestDescription test)
個々のテストケースの開始を報告します。古いインターフェース。可能な限り testStarted(TestDescription) を使用する必要があります。
| パラメータ | |
|---|---|
test |
TestDescription: テストを識別します |
uploadStoragePath
public void uploadStoragePath (String resourceId,
String storagePath,
LogFile logFile)AnTS テスト アーティファクトのストレージ パスを ResultDB にアップロードします。
これは、AnTS から ResultDB への移行の一時的なソリューションです(go/convergence-tr を参照)。このメソッドは、アーティファクトのストレージ パスが使用可能になったときに、AnTS レポーターによって呼び出される必要があります。
AnTS レポーターは、アップロードするアーティファクトごとにこのメソッドを呼び出すことを保証します。このレポーターは、そのようなアーティファクトをすべて正しいテスト関連付けで ResultDB にアップロードします。ログを正しく関連付けるには、事前に同じリソース ID で logAssociation(String,LogFile) が呼び出されている必要があります。これにより、アーティファクトがすでに追跡されていることが保証されます。それ以外の場合、アーティファクトは Tradefed 呼び出しの最上位の作業単位に関連付けられます。
このメソッドは、invocationStarted(IInvocationContext) の前に呼び出すことはできません。このレポートで最終処理されないため、アップストリーム システムで管理される呼び出しの invocationEnded(long) の後に呼び出すことができます。これは、invocationEnded(long) で確定されるローカルで作成された呼び出しには適用されません。
TODO(b/464941055): AnTS アーティファクトを ResultDB に適切に移行できるようになったら、このメソッドを削除します。
| パラメータ | |
|---|---|
resourceId |
String: アーティファクトのリソース ID。 |
storagePath |
String: アーティファクトのストレージ パス(/bigstore/ パスなど)。 |
logFile |
LogFile: アーティファクトに関連付けられた LogFile オブジェクト。 |