BasePostProcessor

public abstract class BasePostProcessor
extends Object implements IPostProcessor

java.lang.Object
   ↳ com.android.tradefed.postprocessor.BasePostProcessor


すべての実装で拡張する必要があるベースの IPostProcessor。最終結果レポーターより前に、後処理メソッドが呼び出されるようにします。

概要

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

BasePostProcessor()

パブリック メソッド

final ITestInvocationListener init(ITestInvocationListener listener)

ポストプロセッサの初期化ステップ。

final void invocationEnded(long elapsedTime)

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

final void invocationFailed(FailureDescription failure)

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

final void invocationFailed(Throwable cause)

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

void invocationSkipped(SkipReason reason)

呼び出しをスキップされたものとして報告します

final void invocationStarted(IInvocationContext context)

転送の呼び出しリスナー

final boolean isDisabled()

オブジェクト全体が無効になっている場合(セットアップと破棄の両方をスキップ)、true を返します。

final void logAssociation(String dataName, LogFile logFile)

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

ログとテストの関連付けを更新します。

processAllTestMetricsAndLogs(ListMultimap<String, MetricMeasurement.Metric> allTestMetrics, allTestLogs)

このメソッドを実装して、すべてのテストの指標とログを集約します。

abstract processRunMetricsAndLogs( rawMetrics, runLogs)

このメソッドを実装して、既存の指標とログから一連の新しい指標を生成します。

processTestMetricsAndLogs(TestDescription testDescription, testMetrics, testLogs)

このメソッドを実装して、各テストの指標とログをポストプロセスします。

final void setLogSaver(ILogSaver logSaver)

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

void setUp()

子ポスト プロセッサでこのメソッドをオーバーライドして、テストの実行前に初期化します。

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)) の代替手段。

final 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 testLog(String dataName, LogDataType dataType, InputStreamSource dataStream)

このメソッドは、PostProcessor の実装からファイルをログに記録するために使用します。

final void testLogSaved(String dataName, LogDataType dataType, InputStreamSource dataStream, LogFile logFile)

テストログが保存されたときに呼び出されます。

final void testModuleEnded()

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

final void testModuleStarted(IInvocationContext moduleContext)

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

final void testRunEnded(long elapsedTime, runMetrics)

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

final void testRunFailed(FailureDescription failure)

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

final void testRunFailed(String errorMessage)

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

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

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

final void testRunStarted(String runName, int testCount)

テスト実行コールバック

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

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

final void testRunStopped(long elapsedTime)

ユーザーのリクエストにより、レポートのテスト実行が完了前に停止しました。

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 cleanUp()
MetricMeasurement.DataType getMetricType()

必要に応じて指標タイプを変更するには、このメソッドをオーバーライドします。

String getRunName()

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

BasePostProcessor

public BasePostProcessor ()

パブリック メソッド

init

public final ITestInvocationListener init (ITestInvocationListener listener)

ポストプロセッサの初期化ステップ。テストのコールバックの前に必ず呼び出されます。

パラメータ
listener ITestInvocationListener

戻り値
ITestInvocationListener

invocationEnded

public final void invocationEnded (long elapsedTime)

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

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

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

invocationFailed

public final void invocationFailed (FailureDescription failure)

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

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

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

invocationFailed

public final void invocationFailed (Throwable cause)

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

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

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

invocationSkipped

public void invocationSkipped (SkipReason reason)

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

パラメータ
reason SkipReason

invocationStarted

public final void invocationStarted (IInvocationContext context)

転送の呼び出しリスナー

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

isDisabled

public final boolean isDisabled ()

オブジェクト全体が無効になっている場合(セットアップとテイクダウンの両方をスキップ)、true を返します。それ以外の場合は False です。

戻り値
boolean

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

processAllTestMetricsAndLogs

public  processAllTestMetricsAndLogs (ListMultimap<String, MetricMeasurement.Metric> allTestMetrics, 
                 allTestLogs)

このメソッドを実装して、すべてのテストの指標とログを集約します。このメソッドから出力される指標は、実行指標としてレポートされます。新しく生成された指標のみを返す必要があります。キー名は一意にする必要があります(既存のキーとの競合は許可されません)。

パラメータ
allTestMetrics ListMultimap: 指標名でグループ化された各テストの指標を格納する HashMultimap。

allTestLogs : 各テストの TestDescription をキーとして、各テストのログファイルのマップをデータ名でキーに格納するマップ。

戻り値
すべてのテスト指標から新しく生成された指標のセット。

processRunMetricsAndLogs

public abstract  processRunMetricsAndLogs ( rawMetrics, 
                 runLogs)

このメソッドを実装すると、既存の指標とログから一連の新しい指標を生成できます。新しく生成された指標のみを返す必要があります。キー名は一意にする必要があります(既存のキーとの競合は許可されません)。

パラメータ
rawMetrics : 実行に使用できる元の指標のセット。

runLogs : テスト実行のログファイルのセット。

戻り値
実行指標から新しく生成された指標のセット。

processTestMetricsAndLogs

public  processTestMetricsAndLogs (TestDescription testDescription, 
                 testMetrics, 
                 testLogs)

このメソッドを実装して、各テストの指標とログをポスト処理します。新しく生成された指標のみを返す必要があります。キー名は一意にする必要があります(既存のキーとの競合は許可されません)。

パラメータ
testDescription TestDescription: テストを記述する TestDescription オブジェクト。

testMetrics : テストの指標セット。

testLogs : テスト中にログに記録されたファイルのセット。

戻り値
テスト指標から新しく生成された指標のセット。

setLogSaver

public final void setLogSaver (ILogSaver logSaver)

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

パラメータ
logSaver ILogSaver: ILogSaver

setUp

public void setUp ()

子ポスト プロセッサでこのメソッドをオーバーライドして、テストの実行前に初期化します。

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 final 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: テストを識別します。

testLog

public final void testLog (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream)

このメソッドは、PostProcessor の実装からファイルをログに記録するために使用します。

パラメータ
dataName String: データのわかりやすい名前(例: device_logcat)。String注: dataName は呼び出しごとに一意ではない場合があります。つまり、実装者は同じ dataName で複数の呼び出しを処理できる必要があります。

dataType LogDataType: データの LogDataType

dataStream InputStreamSource: データの InputStreamSource。実装者は createInputStream を呼び出してデータの読み取りを開始し、完了したら結果の InputStream を必ず閉じる必要があります。呼び出し元は、testLog メソッドが完了するまで、データソースが存在し、アクセス可能であることを確認する必要があります。

testLogSaved

public final void testLogSaved (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream, 
                LogFile logFile)

テストログが保存されたときに呼び出されます。

ITestInvocationListener.testLog(String, LogDataType, InputStreamSource) の代わりに使用する必要があります。

パラメータ
dataName String: データのわかりやすい名前(例: device_logcat)。String注: dataName は呼び出しごとに一意ではない場合があります。つまり、実装者は同じ dataName で複数の呼び出しを処理できる必要があります。

dataType LogDataType: データの LogDataType

dataStream InputStreamSource: データの InputStreamSource。実装者は createInputStream を呼び出してデータの読み取りを開始し、完了したら結果の InputStream を必ず閉じる必要があります。

logFile LogFile: 保存されたファイルのメタデータを含む LogFile

testModuleEnded

public final void testModuleEnded ()

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

testModuleStarted

public final void testModuleStarted (IInvocationContext moduleContext)

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

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

testRunEnded

public final void testRunEnded (long elapsedTime, 
                 runMetrics)

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

パラメータ
elapsedTime 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 final 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 final void testRunStarted (String runName, 
                int testCount, 
                int attemptNumber, 
                long startTime)

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

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

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

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

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

testRunStopped

public final void testRunStopped (long elapsedTime)

ユーザー リクエストにより、レポートのテスト実行が完了前に停止しました。

TODO: 現在使用されていません。削除を検討してください

パラメータ
elapsedTime long: デバイスが報告した経過時間(ミリ秒単位)

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)

テストケースのコールバック

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

保護されたメソッド

cleanUp

protected void cleanUp ()

getMetricType

protected MetricMeasurement.DataType getMetricType ()

必要に応じて指標タイプを変更するには、このメソッドをオーバーライドします。デフォルトでは、指標は処理済みタイプに設定されています。

戻り値
MetricMeasurement.DataType

getRunName

protected String getRunName ()

戻り値
String