ITestSuite

public abstract class ITestSuite
extends Object implements IRemoteTest, IDeviceTest, IBuildReceiver, ISystemStatusCheckerReceiver, IShardableTest, ITestCollector, IInvocationContextReceiver, IRuntimeHintProvider, IMetricCollectorReceiver, IConfigurationReceiver, IReportNotExecuted, ITokenRequest, ITestLoggerReceiver

java.lang.Object
   ↳ com.android.tradefed.testtype.suite.ITestSuite


テストスイートの実行に使用される抽象クラス。このクラスは、スイートの実行方法の基礎となります。各実装では、loadTests() メソッドでテストのリストを定義できます。

概要

フィールド

public static final String ABI_OPTION

public static final String ACTIVE_MAINLINE_PARAMETER_KEY

public static final String MAINLINE_PARAMETER_KEY

public static final String MODULE_CHECKER_POST

public static final String MODULE_CHECKER_PRE

public static final String MODULE_END_TIME

public static final String MODULE_METADATA_EXCLUDE_FILTER

public static final String MODULE_METADATA_INCLUDE_FILTER

public static final String MODULE_START_TIME

public static final String PARAMETER_KEY

public static final String PREPARER_WHITELIST

public static final String PRIMARY_ABI_RUN

public static final String RANDOM_SEED

public static final String RUNNER_WHITELIST

public static final String SKIP_HOST_ARCH_CHECK

public static final String SKIP_STAGING_ARTIFACTS

public static final String SKIP_SYSTEM_STATUS_CHECKER

public static final String STAGE_MODULE_ARTIFACTS

public static final String TEST_TYPE_KEY

public static final String TEST_TYPE_VALUE_PERFORMANCE

public static final String TOKEN_KEY

protected boolean mEnableResolveSymlinks

protected boolean mRecoverDeviceByCvd

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

ITestSuite()

パブリック メソッド

void addModuleMetadataExcludeFilters(MultiMap<String, String> filters)
void addModuleMetadataIncludeFilters(MultiMap<String, String> filters)
void cleanUpSuiteSetup()

スイートのセットアップ中に必要で、テストの実行には不要なものをすべてクリーンアップする機会。

boolean filterByConfigMetadata(IConfiguration config, MultiMap<String, String> include, MultiMap<String, String> exclude)

メタデータ フィルタを構成に適用して、構成が実行されるかどうかを確認します。

getAbis(ITestDevice device)

互換性テスト AbiUtils.getAbisSupportedByCompatibility() とテスト対象デバイスの両方でサポートされている ABI のセットを取得します。

static getAbisForBuildTargetArchFromSuite()

TestSuiteInfo から有効な abi を返します。

IBuildInfo getBuildInfo()

ITestSuite の実装で、テストを読み込むためにビルド情報が必要になる場合があります。

final IConfiguration getConfiguration()

呼び出し IConfiguration を返します。

ITestLogger getCurrentTestLogger()
ITestDevice getDevice()

テスト対象のデバイスを入手します。

ModuleDefinition getDirectModule()

直接実行される ModuleDefinition を返します。まだシャーディングされていない場合は null を返します(ITestSuite がまだシャーディングされていない場合)。

boolean getIntraModuleSharding()
IInvocationContext getInvocationContext()

呼び出しコンテキストを返します。

MultiMap<String, String> getModuleMetadataIncludeFilters()
ITestSuite.MultiDeviceModuleStrategy getMultiDeviceStrategy()
final String getRequestedAbi()

オプション -a または --abi を指定してリクエストされた abi を返します。

getRequiredTokens(TestInformation testInfo)

テストに必要なトークンのリストを返します。

long getRuntimeHint()

テストの予想される実行時間をミリ秒単位で返します。

File getTestsDir()
boolean isSplitting()

現在 IShardableTest.split(int) にいる場合は true を返します。

abstract loadTests()

実行するテスト構成を読み込むための抽象メソッド。

void reportNotExecuted(ITestInvocationListener listener, String message)

指定されたメインリスナーに、実行されていないテストを報告します。

void reportNotExecuted(ITestInvocationListener listener)

指定されたメインリスナーに、実行されていないテストを報告します。

final void run(TestInformation testInfo, ITestInvocationListener listener)

loadTests() から読み込まれたすべてのテストの一般的な実行メソッド。

void setAbiName(String abiName)

mAbiName の値を設定する

final void setAbis( abis)
void setBuild(IBuildInfo buildInfo)

void setCollectTestsOnly(boolean shouldCollectTest)

テストスイートをコレクタ専用モードで実行します。この場合、すべてのサブテストでこのインターフェースも実装する必要があります。

void setConfiguration(IConfiguration configuration)

使用中の IConfiguration を注入します。

void setDevice(ITestDevice device)

テスト対象デバイスを挿入します。

void setDirectModule(ModuleDefinition module)
void setIntraModuleSharding(boolean intraModuleSharding)
void setInvocationContext(IInvocationContext invocationContext)

void setMetricCollectors( collectors)

テスト実行用に定義された IMetricCollector のリストを設定します。

void setMultiDeviceStrategy(ITestSuite.MultiDeviceModuleStrategy strategy)
void setPrimaryAbiRun(boolean primaryAbiRun)

mPrimaryAbiRun の値を設定する

void setShouldMakeDynamicModule(boolean dynamicModule)

分散シャーディングを行う場合、プール内のテストを共有する ModuleDefinition は使用できません。そうしないと、モジュール内シャーディングが機能しないため、これを無効にできます。

void setSystemStatusChecker( systemCheckers)

テストの構成から ISystemStatusChecker を設定します。

void setTestLogger(ITestLogger testLogger)

ITestLogger インスタンスを挿入する

split(Integer shardCountHint, TestInformation testInfo)

split(int) の別バージョン。シャードを作成する親からの初期情報を含む TestInformation も提供されます。

保護されたメソッド

createModuleListeners()

ModuleListener レベルに適用される ITestInvocationListener のリストを返します。

boolean filterByRunnerType(IConfiguration config, allowedRunners)

ランナーのホワイトリストのフィルタを適用して、許可リストに登録されていないランナーを削除します。

getAbisForBuildTargetArch()

ホストビルド ターゲット アーキテクチャでサポートされている abis を返します。

getHostAbis()

ホストマシンの abis を返します。

boolean shouldModuleRun(ModuleDefinition module)

フィールド

ABI_OPTION

public static final String ABI_OPTION

ACTIVE_MAINLINE_PARAMETER_KEY

public static final String ACTIVE_MAINLINE_PARAMETER_KEY

MAINLINE_PARAMETER_KEY

public static final String MAINLINE_PARAMETER_KEY

MODULE_CHECKER_POST

public static final String MODULE_CHECKER_POST

MODULE_CHECKER_PRE

public static final String MODULE_CHECKER_PRE

MODULE_END_TIME

public static final String MODULE_END_TIME

MODULE_METADATA_EXCLUDE_FILTER

public static final String MODULE_METADATA_EXCLUDE_FILTER

MODULE_METADATA_INCLUDE_FILTER

public static final String MODULE_METADATA_INCLUDE_FILTER

MODULE_START_TIME

public static final String MODULE_START_TIME

パラメータキー

public static final String PARAMETER_KEY

PREPARER_WHITELIST

public static final String PREPARER_WHITELIST

PRIMARY_ABI_RUN

public static final String PRIMARY_ABI_RUN

ランダムシード

public static final String RANDOM_SEED

ランナーのホワイトリスト

public static final String RUNNER_WHITELIST

SKIP_HOST_ARCH_CHECK

public static final String SKIP_HOST_ARCH_CHECK

SKIP_STAGING_ARTIFACTS(SKIP_STAGING_ARTIFACTS 個)

public static final String SKIP_STAGING_ARTIFACTS

SKIP_SYSTEM_STATUS_CHECKER

public static final String SKIP_SYSTEM_STATUS_CHECKER

STAGE_MODULE_ARTIFACTS(ステージ モジュール アーティファクト)

public static final String STAGE_MODULE_ARTIFACTS

TEST_TYPE_KEY

public static final String TEST_TYPE_KEY

TEST_TYPE_VALUE_PERFORMANCE

public static final String TEST_TYPE_VALUE_PERFORMANCE

トークンキー

public static final String TOKEN_KEY

protected boolean mEnableResolveSymlinks

mRecoverDeviceByCvd

protected boolean mRecoverDeviceByCvd

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

ITestSuite

public ITestSuite ()

パブリック メソッド

addModuleMetadataExcludeFilters

public void addModuleMetadataExcludeFilters (MultiMap<String, String> filters)

パラメータ
filters MultiMap

addModuleMetadataIncludeFilters

public void addModuleMetadataIncludeFilters (MultiMap<String, String> filters)

パラメータ
filters MultiMap

cleanUpSuiteSetup

public void cleanUpSuiteSetup ()

スイートのセットアップ中に必要で、テストの実行には不要なものをすべてクリーンアップできます。

filterByConfigMetadata

public boolean filterByConfigMetadata (IConfiguration config, 
                MultiMap<String, String> include, 
                MultiMap<String, String> exclude)

メタデータ フィルタを構成に適用して、構成が実行されるかどうかを確認します。

パラメータ
config IConfiguration: 評価対象の IConfiguration

include MultiMap: メタデータ インクルード フィルタ

exclude MultiMap: メタデータ除外フィルタ

戻り値
boolean モジュールを実行する場合は true、それ以外の場合は false。

getAbis

public  getAbis (ITestDevice device)

互換性テスト AbiUtils.getAbisSupportedByCompatibility() とテスト対象デバイスの両方でサポートされている ABI のセットを取得します。

パラメータ
device ITestDevice

戻り値
テストを実行する ABI のセット

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

getAbisForBuildTargetArchFromSuite

public static  getAbisForBuildTargetArchFromSuite ()

TestSuiteInfo から有効な abis を返します。

戻り値

getBuildInfo

public IBuildInfo getBuildInfo ()

ITestSuite の実装で、テストを読み込むためにビルド情報が必要になる場合があります。

戻り値
IBuildInfo

getConfiguration

public final IConfiguration getConfiguration ()

呼び出し IConfiguration を返します。

戻り値
IConfiguration

getCurrentTestLogger

public ITestLogger getCurrentTestLogger ()

戻り値
ITestLogger

getDevice

public ITestDevice getDevice ()

テスト対象のデバイスを入手します。

戻り値
ITestDevice ITestDevice

getDirectModule

public ModuleDefinition getDirectModule ()

直接実行される ModuleDefinition を返します。まだシャーディングされていない場合は null を返します(ITestSuite がまだシャーディングされていない場合)。

戻り値
ModuleDefinition

getIntraModuleSharding

public boolean getIntraModuleSharding ()

戻り値
boolean

getInvocationContext

public IInvocationContext getInvocationContext ()

呼び出しコンテキストを返します。

戻り値
IInvocationContext

getModuleMetadataIncludeFilters

public MultiMap<String, String> getModuleMetadataIncludeFilters ()

戻り値
MultiMap<String, String>

getMultiDeviceStrategy

public ITestSuite.MultiDeviceModuleStrategy getMultiDeviceStrategy ()

戻り値
ITestSuite.MultiDeviceModuleStrategy

getRequestedAbi

public final String getRequestedAbi ()

オプション -a または --abi を指定して、リクエストされた abi を返します。

戻り値
String

getRequiredTokens

public  getRequiredTokens (TestInformation testInfo)

テストに必要なトークンのリストを返します。トークンがサポートされていない場合は null を返します。

パラメータ
testInfo TestInformation

戻り値

getRuntimeHint

public long getRuntimeHint ()

テストの予想される実行時間をミリ秒単位で返します。この時間は、シャーディングされた実行のロード バランシングに使用されます

戻り値
long

getTestsDir

public File getTestsDir ()

戻り値
File

isSplitting

public boolean isSplitting ()

現在 IShardableTest.split(int) にいる場合は true を返します。

戻り値
boolean

loadTests

public abstract  loadTests ()

実行するテスト構成を読み込むための抽象メソッド。各テストは、IConfiguration と、結果を報告する一意の名前によって定義されます。

戻り値

reportNotExecuted

public void reportNotExecuted (ITestInvocationListener listener, 
                String message)

実行されていないテストを、指定されたメインリスナーに報告します。NOT_EXECUTED_FAILURE メッセージで失敗として報告されます。

パラメータ
listener ITestInvocationListener: 実行されていない結果を報告するメインリスナー。

message String: 実行されなかったエラーに関連付けるメッセージ。

reportNotExecuted

public void reportNotExecuted (ITestInvocationListener listener)

実行されていないテストを、指定されたメインリスナーに報告します。NOT_EXECUTED_FAILURE メッセージで失敗として報告されます。

パラメータ
listener ITestInvocationListener: 実行されていない結果を報告するメインリスナー。

ホームラン

public final void run (TestInformation testInfo, 
                ITestInvocationListener listener)

loadTests() から読み込まれたすべてのテストの一般的な実行メソッド。

パラメータ
testInfo TestInformation: テストの実行に役立つ情報を含む TestInformation オブジェクト。

listener ITestInvocationListener: テスト結果の ITestInvocationListener

例外
DeviceNotAvailableException

setAbiName

public void setAbiName (String abiName)

mAbiName の値を設定する

パラメータ
abiName String

設定

public final void setAbis ( abis)

パラメータ
abis

setBuild

public void setBuild (IBuildInfo buildInfo)

パラメータ
buildInfo IBuildInfo

setCollectTestsOnly

public void setCollectTestsOnly (boolean shouldCollectTest)

テストスイートをコレクタ専用モードで実行します。この場合、すべてのサブテストでこのインターフェースも実装する必要があります。

setConfiguration

public void setConfiguration (IConfiguration configuration)

使用中の IConfiguration を注入します。

パラメータ
configuration IConfiguration

setDevice

public void setDevice (ITestDevice device)

テスト対象デバイスを挿入します。

パラメータ
device ITestDevice: 使用する ITestDevice

setDirectModule

public void setDirectModule (ModuleDefinition module)

パラメータ
module ModuleDefinition

setIntraModuleSharding

public void setIntraModuleSharding (boolean intraModuleSharding)

パラメータ
intraModuleSharding boolean

setInvocationContext

public void setInvocationContext (IInvocationContext invocationContext)

パラメータ
invocationContext IInvocationContext

setMetricCollectors

public void setMetricCollectors ( collectors)

テスト実行用に定義された IMetricCollector のリストを設定します。

パラメータ
collectors

setMultiDeviceStrategy

public void setMultiDeviceStrategy (ITestSuite.MultiDeviceModuleStrategy strategy)

パラメータ
strategy ITestSuite.MultiDeviceModuleStrategy

setPrimaryAbiRun

public void setPrimaryAbiRun (boolean primaryAbiRun)

mPrimaryAbiRun の値を設定する

パラメータ
primaryAbiRun boolean

set shouldMakeDynamicModule

public void setShouldMakeDynamicModule (boolean dynamicModule)

分散シャーディングを行う場合、プール内のテストを共有する ModuleDefinition は使用できません。そうしないと、モジュール内シャーディングが機能しないため、これを無効にできます。

パラメータ
dynamicModule boolean

setSystemStatusChecker

public void setSystemStatusChecker ( systemCheckers)

テストの構成から ISystemStatusChecker を設定します。

パラメータ
systemCheckers

setTestLogger

public void setTestLogger (ITestLogger testLogger)

ITestLogger インスタンスを注入する

パラメータ
testLogger ITestLogger

分割

public  split (Integer shardCountHint, 
                TestInformation testInfo)

split(int) の別バージョン。シャードを作成する親からの早期情報を含む TestInformation も提供されます。デバイスやビルドの情報などにシャーディング中にアクセスする必要がある場合に便利です。

パラメータ
shardCountHint Integer: 試行されたシャードの数。

testInfo TestInformation: 親 TestInformation

戻り値
個別に実行されるサブテストのコレクション。テストが現在シャーディングできない場合は null

保護されたメソッド

createModuleListeners

protected  createModuleListeners ()

ModuleListener レベルに適用される ITestInvocationListener のリストを返します。これらのリスナーはモジュールごとに再利用されます。再インスタンス化されないので、内部状態を想定しないでください。

戻り値

filterByRunnerType

protected boolean filterByRunnerType (IConfiguration config, 
                 allowedRunners)

ランナーのホワイトリストのフィルタを適用して、許可リストに登録されていないランナーを削除します。構成に複数のランナーがある場合、一部のランナーが削除されても、構成は引き続き実行されます。

パラメータ
config IConfiguration: 評価対象の IConfiguration

allowedRunners : 現在のランナーのホワイトリスト。

戻り値
boolean 構成モジュールの実行が許可されている場合は true、そうでない場合は false。

getAbisForBuildTargetArch

protected  getAbisForBuildTargetArch ()

ホストビルド ターゲット アーキテクチャでサポートされている abis を返します。テスト用に公開されています。

戻り値

getHostAbis

protected  getHostAbis ()

ホストマシンの abis を返します。

戻り値

shouldModuleRun

protected boolean shouldModuleRun (ModuleDefinition module)

パラメータ
module ModuleDefinition

戻り値
boolean