ShardMainResultForwarder

public class ShardMainResultForwarder
extends ResultForwarder implements ILogSaverListener

java.lang.Object
   ↳ com.android.tradefed.result.ResultForwarder
     ↳ com.android.tradefed.invoker.ShardMainResultForwarder


シャーディングされたテスト呼び出しの結果を結合する ResultForwarder。シャーディングされた呼び出しがすべて完了すると、リスナーに呼び出しの完了が報告されます。

このクラスはスレッドセーフではありません。呼び出しコールバックが順番どおりに呼び出されないように、クライアントはテスト結果を送信するときにこのクラスをロックすることが想定されます。

概要

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

ShardMainResultForwarder( listeners, int expectedShards)

ShardMainResultForwarder を作成します。

パブリック メソッド

getListeners()

リスナーのリストを取得します。

void invocationEnded(long elapsedTime)

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

void invocationEnded(long elapsedTime, IInvocationContext context)

どのシャードが完了したかを区別するための詳細なコールバック。

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

最初にログを保存するのではなく、testLog のみを転送します。

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

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

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

ShardMainResultForwarder

public ShardMainResultForwarder ( listeners, 
                int expectedShards)

ShardMainResultForwarder を作成します。

パラメータ
listeners : すべてのシャードが完了したときに結果を転送する ITestInvocationListener のリスト

expectedShards int: シャードの数

パブリック メソッド

getListeners

public  getListeners ()

リスナーのリストを取得します。サブクラスによる使用のみを目的としています。

戻り値
ITestInvocationListener のリスト。

invocationEnded

public void invocationEnded (long elapsedTime)

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

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

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

invocationEnded

public void invocationEnded (long elapsedTime, 
                IInvocationContext context)

どのシャードが完了したかを区別するための詳細なコールバック。

パラメータ
elapsedTime long

context IInvocationContext

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

testLogForward

public void testLogForward (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream)

ログを最初に保存するのではなく、testLog のみを転送します。

パラメータ
dataName String

dataType LogDataType

dataStream InputStreamSource

testLogSaved

public 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