ShardListener

public class ShardListener
extends CollectingTestListener implements ISupportGranularResults

java.lang.Object
   ↳ com.android.tradefed.result.CollectingTestListener
     ↳ com.android.tradefed.invoker.ShardListener


呼び出しシャード(複数のリソースで並列実行される呼び出し分割とも呼ばれます)から結果を収集し、別のリスナーに転送する ITestInvocationListener

概要

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

ShardListener(ITestInvocationListener main)

ShardListener を作成します。

パブリック メソッド

List<ITestInvocationListener> getUnderlyingResultReporter()
void invocationEnded(long elapsedTime)

呼び出しが終了したことを報告します(成功した場合も、エラー条件が原因で終了した場合も同様です)。

void invocationFailed(FailureDescription failure)

エラー条件のため、呼び出しが不完全であることを報告します。

void invocationFailed(Throwable cause)

エラー条件のため、呼び出しが不完全であることを報告します。

void invocationSkipped(SkipReason reason)

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

void invocationStarted(IInvocationContext context)

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

void logAssociation(String dataName, LogFile logFile)

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

void setSupportGranularResults(boolean enableGranularResults)
boolean supportGranularResults()

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

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

テスト呼び出しから関連するログまたはデバッグデータを提供します。

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

void testModuleEnded()

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

void testModuleStarted(IInvocationContext moduleContext)

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

void testRunEnded(long elapsedTime, HashMap<String, MetricMeasurement.Metric> runMetrics)

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

void testRunFailed(FailureDescription failure)

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

void testRunFailed(String failureMessage)

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

void testRunStarted(String name, int numTests, int attemptNumber, long startTime)

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

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

ShardListener

public ShardListener (ITestInvocationListener main)

ShardListener を作成します。

パラメータ
main ITestInvocationListener: 結果が転送される ITestInvocationListener。他の ShardListener との衝突を避けるため、このオブジェクトは結果を転送する際に main で同期します。結果は、呼び出しシャードが完了した後にのみ送信されます。

パブリック メソッド

getUnderlyingResultReporter

public List<ITestInvocationListener> getUnderlyingResultReporter ()

戻り値
List<ITestInvocationListener>

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: 呼び出しに関する情報

logAssociation

public void logAssociation (String dataName, 
                LogFile logFile)

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

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

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

setSupportGranularResults

public void setSupportGranularResults (boolean enableGranularResults)

パラメータ
enableGranularResults boolean

supportGranularResults

public boolean supportGranularResults ()

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

戻り値
boolean

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 メソッドが完了するまで、データのソースが存在し、アクセス可能であることを確認する必要があります。

testLogSaved

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

パラメータ
dataName String

dataType LogDataType

dataStream InputStreamSource

logFile LogFile

testModuleEnded

public void testModuleEnded ()

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

testModuleStarted

public void testModuleStarted (IInvocationContext moduleContext)

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

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

testRunEnded

public void testRunEnded (long elapsedTime, 
                HashMap<String, MetricMeasurement.Metric> runMetrics)

テスト実行の終了を報告します。FIXME: 型が異なる Map<> インターフェースを 2 つ持つことはできないため、ここでは HashMap を使用する必要があります。

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

runMetrics HashMap: Metric を使用したテスト実行の最後にレポートされる Key-Value ペア。

testRunFailed

public void testRunFailed (FailureDescription failure)

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

パラメータ
failure FailureDescription: 失敗とそのコンテキストを説明する FailureDescription

testRunFailed

public void testRunFailed (String failureMessage)

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

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

testRunStarted

public void testRunStarted (String name, 
                int numTests, 
                int attemptNumber, 
                long startTime)

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

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

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

attemptNumber int: 実行名が同じで複数回実行される異なる試行を識別する注文番号。attemptNumber は 0 から始まり、新しい実行が発生するたびに増分されます。たとえば、テストが 3 回再試行される場合、同じ runName で合計 4 回実行され、attemptNumber は 0 ~ 3 になります。

startTime long: 実行の開始時刻(System.currentTimeMillis() で測定)