BaseDeviceMetricCollector

public class BaseDeviceMetricCollector
extends Object implements IDeviceActionReceiver, IMetricCollector

java.lang.Object
   ↳ com.android.tradefed.device.metric.BaseDeviceMetricCollector


onTestRunStart(com.android.tradefed.device.metric.DeviceMetricData)ERROR(/#onTestRunEnd(com.android.tradefed.device.metric.DeviceMetricData,Map)) での収集を開始および停止できる IMetricCollector の基本実装。

概要

フィールド

public static final String TEST_CASE_EXCLUDE_GROUP_OPTION

public static final String TEST_CASE_INCLUDE_GROUP_OPTION

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

BaseDeviceMetricCollector()

パブリック メソッド

void extraInit(IInvocationContext context, ITestInvocationListener listener)
final getBuildInfos()

呼び出しで使用可能なビルド情報のリストを返します。

final getDevices()

呼び出しで使用可能なデバイスのリストを返します。

File getFileFromTestArtifacts(String fileName)

テスト アーティファクトまたはモジュール アーティファクトからファイルを取得し、後続の呼び出し用にマップにキャッシュします。

final ITestInvocationListener getInvocationListener()

結果を転送する元の ITestInvocationListener を返します。

String getModuleName()
final getRealDevices()

getDevices() リストから非スタブ デバイスをすべて返します。

String getRunName()

コレクタをトリガーするテスト実行 mRunName の名前を返します。

final ITestInvocationListener init(IInvocationContext context, 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 を返します(セットアップとティアダウンの両方をスキップ)。

boolean isDisabledReceiver()

IDeviceActionReceiver が無効かどうか。

final void logAssociation(String dataName, LogFile logFile)

指標コレクタの実装内で使用しないでください。

void onTestAssumptionFailure(DeviceMetricData testData, TestDescription test)

テストケースが仮定エラーで失敗したときに呼び出されるコールバック。

void onTestEnd(DeviceMetricData testData, currentTestCaseMetrics, TestDescription test)

テストケースが終了したときのコーリングバック。

void onTestEnd(DeviceMetricData testData, currentTestCaseMetrics)

テストケースが終了したときのコーリングバック。

void onTestFail(DeviceMetricData testData, TestDescription test)

テストケースが失敗したときに呼び出されるコールバック。

void onTestModuleEnded()

モジュール終了イベントをキャプチャできます。

void onTestModuleStarted()

モジュール開始イベントをキャプチャできます。

void onTestRunEnd(DeviceMetricData runData, currentRunMetrics)

テスト実行が終了したときのコールバック。

void onTestRunFailed(DeviceMetricData testData, FailureDescription failure)

testRunFailed イベントのコールバック

void onTestRunStart(DeviceMetricData runData)

テスト実行が開始されたときのコールバック。

void onTestStart(DeviceMetricData testData)

テストケースの開始時のコールバック。

void rebootEnded(ITestDevice device)

デバイスの再起動が終了したときに通知を取得します。

void rebootStarted(ITestDevice device)

デバイスで再起動が開始したときに通知を受け取ります。

final void setDisable(boolean isDisabled)

オブジェクトを無効にするかどうかを設定します。

void setDisableReceiver(boolean isDisabled)

IDeviceActionReceiver を無効にするかどうかを設定します。

final void setLogSaver(ILogSaver logSaver)

指標コレクタの実装内で使用しないでください。

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)

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

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)

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

フィールド

TEST_CASE_EXCLUDE_GROUP_OPTION

public static final String TEST_CASE_EXCLUDE_GROUP_OPTION

TEST_CASE_INCLUDE_GROUP_OPTION

public static final String TEST_CASE_INCLUDE_GROUP_OPTION

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

BaseDeviceMetricCollector

public BaseDeviceMetricCollector ()

パブリック メソッド

extraInit

public void extraInit (IInvocationContext context, 
                ITestInvocationListener listener)

例外
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

getBuildInfos

public final  getBuildInfos ()

呼び出しで使用可能なビルド情報のリストを返します。

戻り値

getDevices

public final  getDevices ()

呼び出しで使用可能なデバイスのリストを返します。

戻り値

getFileFromTestArtifacts

public File getFileFromTestArtifacts (String fileName)

テスト アーティファクトまたはモジュール アーティファクトからファイルを取得し、後続の呼び出し用にマップにキャッシュに保存します。

パラメータ
fileName String: アーティファクトで検索するファイルの名前。

戻り値
File テスト アーティファクトまたはモジュール アーティファクトのファイル。ファイルが見つからない場合は null を返します。

getInvocationListener

public final ITestInvocationListener getInvocationListener ()

結果の転送先となる元の ITestInvocationListener を返します。

戻り値
ITestInvocationListener

getModuleName

public String getModuleName ()

戻り値
String

getRealDevices

public final  getRealDevices ()

getDevices() リストからスタブ以外のすべてのデバイスを返します。

戻り値

getRunName

public String getRunName ()

コレクタをトリガーするテスト実行 mRunName の名前を返します。

戻り値
String mRunName: 現在のテスト実行名。

init

public final ITestInvocationListener init (IInvocationContext context, 
                ITestInvocationListener listener)

現在のコンテキストと結果の転送先でコレクタを初期化します。インスタンスごとに 1 回だけ呼び出され、コレクタは内部コンテキストとリスナーを更新することが期待されます。以前は、テスト実行中に Init が呼び出されることはなかった。

自分のしていることをはっきりと把握できている場合にのみオーバーライドしてください。

パラメータ
context IInvocationContext: 進行中の呼び出しの IInvocationContext

listener ITestInvocationListener: 結果を格納する ITestInvocationListener

戻り値
ITestInvocationListener 元のリスナーをラップする新しいリスナーです。

例外
DeviceNotAvailableException

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

isDisabledReceiver

public boolean isDisabledReceiver ()

IDeviceActionReceiver が無効かどうか。

戻り値
boolean 無効になっている場合は true を返し、それ以外の場合は false を返します。

logAssociation

public final void logAssociation (String dataName, 
                LogFile logFile)

指標コレクタの実装内で使用しないでください。これは純粋な転送です。

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

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

onTestAssumptionFailure

public void onTestAssumptionFailure (DeviceMetricData testData, 
                TestDescription test)

テストケースが前提条件の失敗で失敗した場合のコールバック。

パラメータ
testData DeviceMetricData: テストケースのデータを保持する DeviceMetricData

test TestDescription: 進行中のテストケースの TestDescription

例外
DeviceNotAvailableException

onTestEnd

public void onTestEnd (DeviceMetricData testData, 
                 currentTestCaseMetrics, 
                TestDescription test)

テストケースが終了したときに呼び出されるコールバック。クリーンアップを行う必要があります。

パラメータ
testData DeviceMetricData: テストケースのデータを保持する DeviceMetricDataonTestStart(com.android.tradefed.device.metric.DeviceMetricData) のときと同じオブジェクトになります。

currentTestCaseMetrics : ERROR(/#testEnded(com.android.tradefed.result.TestDescription,Map)) に渡された指標の現在のマップ。

test TestDescription: 進行中のテストケースの TestDescription

例外
DeviceNotAvailableException

onTestEnd

public void onTestEnd (DeviceMetricData testData, 
                 currentTestCaseMetrics)

テストケースが終了したときに呼び出されるコールバック。クリーンアップを行う必要があります。

パラメータ
testData DeviceMetricData: テストケースのデータを保持する DeviceMetricDataonTestStart(com.android.tradefed.device.metric.DeviceMetricData) 時と同じオブジェクトになります。

currentTestCaseMetrics : ERROR(/#testEnded(com.android.tradefed.result.TestDescription,Map)) に渡された指標の現在のマップ。

例外
DeviceNotAvailableException

onTestFail

public void onTestFail (DeviceMetricData testData, 
                TestDescription test)

テストケースが失敗したときに呼び出されるコールバック。

パラメータ
testData DeviceMetricData: テストケースのデータを保持する DeviceMetricData

test TestDescription: 進行中のテストケースの TestDescription

例外
DeviceNotAvailableException

onTestModuleEnded

public void onTestModuleEnded ()

モジュール終了イベントをキャプチャできます。

例外
DeviceNotAvailableException

onTestModuleStarted

public void onTestModuleStarted ()

モジュール開始イベントをキャプチャできます。

例外
DeviceNotAvailableException

onTestRunEnd

public void onTestRunEnd (DeviceMetricData runData, 
                 currentRunMetrics)

テスト実行が終了したときのコールバック。この時点でクリーンアップを行います。

パラメータ
runData DeviceMetricData: 実行のデータを保持する DeviceMetricDataonTestRunStart(com.android.tradefed.device.metric.DeviceMetricData) 時と同じオブジェクトになります。

currentRunMetrics : ERROR(/#testRunEnded(long,Map)) に渡された指標の現在のマップ。

例外
DeviceNotAvailableException

onTestRunFailed

public void onTestRunFailed (DeviceMetricData testData, 
                FailureDescription failure)

testRunFailed イベントのコールバック

例外
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

onTestRunStart

public void onTestRunStart (DeviceMetricData runData)

テスト実行の開始時に呼び出されるコールバック。

パラメータ
runData DeviceMetricData: 実行のデータを保持する DeviceMetricData

例外
DeviceNotAvailableException

onTestStart

public void onTestStart (DeviceMetricData testData)

テストケースが開始されたときのコールバック。

パラメータ
testData DeviceMetricData: テストケースのデータを保持する DeviceMetricData

例外
DeviceNotAvailableException

restartEnded

public void rebootEnded (ITestDevice device)

デバイスの再起動が終了したときに通知を受け取ります。

注: レシーバはこのコールバック中に再起動しないようにしてください。再起動の試行は無視されます。

パラメータ
device ITestDevice: 再起動が終了した ITestDevice

例外
DeviceNotAvailableException

rebootStarted

public void rebootStarted (ITestDevice device)

デバイスで再起動が開始したときに通知を受け取ります。

注: レシーバはこのコールバック中に再起動しないようにしてください。再起動の試みは無視されます。

パラメータ
device ITestDevice: 再起動が開始された ITestDevice

例外
DeviceNotAvailableException

setDisable

public final void setDisable (boolean isDisabled)

オブジェクトを無効にするかどうかを設定します。無効にすると、セットアップとティアダウンの両方の手順がスキップされます。デフォルト コンストラクタのオブジェクトをデフォルトで無効にするために使用できます。

パラメータ
isDisabled boolean: オブジェクトを配置する状態。

setDisableReceiver

public void setDisableReceiver (boolean isDisabled)

IDeviceActionReceiver を無効にするかどうかを設定します。無効にすると、デバイス アクション イベントを受信するためにデバイスに登録されなくなります。

パラメータ
isDisabled boolean

setLogSaver

public final void setLogSaver (ILogSaver logSaver)

指標コレクタの実装内で使用しないでください。これは純粋な転送です。

パラメータ
logSaver ILogSaver: ILogSaver

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)

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

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 final void testLogSaved (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream, 
                LogFile logFile)

指標コレクタの実装内で使用しないでください。これは純粋な転送です。

パラメータ
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: テストを識別します。