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 を作成します。

パブリック メソッド

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, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.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, 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  getUnderlyingResultReporter ()

戻り値

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, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.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)) または ERROR(/ITestInvocationListener#invocationEnded(long)) の前に呼び出す必要があります。

TradeFederation フレームワークは自動的にこのメソッドを呼び出し、ホストログと、該当する場合はデバイスの logcat を提供します。

パラメータ
dataName String: データのわかりやすい名前(例: device_logcat)。StringdataName は呼び出しごとに一意でない可能性があります。つまり、実装者は同じ 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, 
                 runMetrics)

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

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

runMetrics : テスト実行の終了時に報告される 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: オーダー番号。同じ runName を複数回実行する際の試行を識別します。tryNumber の値は 0 から始まり、新しい実行が発生するたびに増加します。たとえば、テストを 3 回細かく再試行する場合、同じ runName で合計 4 回の実行が必要であり、AttemptNumber は 0 ~ 3 です。

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