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)

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

void setConfiguration(IConfiguration configuration)

使用中の IConfiguration を挿入します。

void setLogSaver(ILogSaver logSaver)

実装者がファイルを保存できるように ILogSaver を設定します。

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)

終了時間を直接指定できる testEnded(TestDescription,Map) の代替。

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)

FailureDescription で説明されているエラーのため、レポート テスト実行を完了できませんでした。

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)

testStarted(TestDescription) の代替。テストの開始時刻も指定し、testEnded(TestDescription,long,Map) と組み合わせて正確な測定を行います。

void testStarted(TestDescription test)

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

void uploadStoragePath(String resourceId, String storagePath, LogFile logFile)

AnTS テスト アーティファクトのストレージ パスを ResultDB にアップロードします。

フィールド

mContext

protected IInvocationContext mContext

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 オブジェクト。