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 の基本実装。

概要

定数

String TEST_CASE_EXCLUDE_GROUP_OPTION

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 の名前を返します。

String getTestName()

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

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-exclude-group"

TEST_CASE_INCLUDE_GROUP_OPTION

public static final String TEST_CASE_INCLUDE_GROUP_OPTION

定数値: "test-case-include-group"

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

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(現在のテスト実行名)。

getTestName

public String getTestName ()

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

戻り値
String mTestName(現在のテスト名)。

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

rebootEnded

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: データの String わかりやすい名前(例: device_logcat)。注: dataName は呼び出しごとに一意でない場合があります。つまり、実装者は同じ 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: データの String わかりやすい名前(例: device_logcat)。注: 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: 実行名が同じで複数回実行される異なる試行を識別する注文番号。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: 実行名が同じで複数回実行される異なる試行を識別する注文番号。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: テストを識別します