ITTestSuite

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

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


テストスイートの実行に使用される抽象クラス。このクラスは、スイートの実行方法のベースを提供します。各実装は、loadTests() メソッドを介してテストのリストを定義できます。

概要

定数

String ABI_OPTION

String ACTIVE_MAINLINE_PARAMETER_KEY

String BUILD_ATTRIBUTE_FLAG_OVERRIDES_KEY

String ENABLE_RESOLVE_SYM_LINKS

String MAINLINE_PARAMETER_KEY

String MODULE_CHECKER_POST

String MODULE_CHECKER_PRE

String MODULE_END_TIME

String MODULE_METADATA_EXCLUDE_FILTER

String MODULE_METADATA_INCLUDE_FILTER

String MODULE_START_TIME

String PARAMETER_KEY

String PREPARER_WHITELIST

String PRIMARY_ABI_RUN

String RANDOM_SEED

String RUNNER_WHITELIST

String SKIP_HOST_ARCH_CHECK

String SKIP_STAGING_ARTIFACTS

String SKIP_SYSTEM_STATUS_CHECKER

String STAGE_MODULE_ARTIFACTS

String TEST_TYPE_KEY

String TEST_TYPE_VALUE_PERFORMANCE

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 isRemoveModuleBuffering()
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 setSkipContext(SkipContext skipContext)
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()

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

getHostAbis()

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

void setPrioritizeHostConfig(boolean prioritizeHostConfig)

オプション prioritize-host-config を設定します。

boolean shouldModuleRun(ModuleDefinition module)

定数

ABI_OPTION

public static final String ABI_OPTION

定数値: "abi"

ACTIVE_MAINLINE_PARAMETER_KEY

public static final String ACTIVE_MAINLINE_PARAMETER_KEY

定数値: "active-mainline-parameter"

BUILD_ATTRIBUTE_FLAG_OVERRIDES_KEY

public static final String BUILD_ATTRIBUTE_FLAG_OVERRIDES_KEY

定数値: "flag-overrides"

public static final String ENABLE_RESOLVE_SYM_LINKS

定数値: "enable-resolve-sym-links"

MAINLINE_PARAMETER_KEY

public static final String MAINLINE_PARAMETER_KEY

定数値: "mainline-param"

MODULE_CHECKER_POST

public static final String MODULE_CHECKER_POST

定数値: "PostModuleChecker"

MODULE_CHECKER_PRE

public static final String MODULE_CHECKER_PRE

定数値: "PreModuleChecker"

MODULE_END_TIME

public static final String MODULE_END_TIME

定数値: "MODULE_END_TIME"

MODULE_METADATA_EXCLUDE_FILTER

public static final String MODULE_METADATA_EXCLUDE_FILTER

定数値: "module-metadata-exclude-filter"

MODULE_METADATA_INCLUDE_FILTER

public static final String MODULE_METADATA_INCLUDE_FILTER

定数値: "module-metadata-include-filter"

MODULE_START_TIME

public static final String MODULE_START_TIME

定数値: "MODULE_START_TIME"

PARAMETER_KEY

public static final String PARAMETER_KEY

定数値: "parameter"

PREPARER_WHITELIST

public static final String PREPARER_WHITELIST

定数値: "preparer-whitelist"

PRIMARY_ABI_RUN

public static final String PRIMARY_ABI_RUN

定数値: "primary-abi-only"

RANDOM_SEED

public static final String RANDOM_SEED

定数値: "random-seed"

RUNNER_WHITELIST

public static final String RUNNER_WHITELIST

定数値: "runner-whitelist"

SKIP_HOST_ARCH_CHECK

public static final String SKIP_HOST_ARCH_CHECK

定数値: "skip-host-arch-check"

SKIP_STAGING_ARTIFACTS

public static final String SKIP_STAGING_ARTIFACTS

定数値: "skip-staging-artifacts"

SKIP_SYSTEM_STATUS_CHECKER

public static final String SKIP_SYSTEM_STATUS_CHECKER

定数値: "skip-system-status-check"

STAGE_MODULE_ARTIFACTS

public static final String STAGE_MODULE_ARTIFACTS

定数値: "stage-module-artifacts"

TEST_TYPE_KEY

public static final String TEST_TYPE_KEY

定数値: "test-type"

TEST_TYPE_VALUE_PERFORMANCE

public static final String TEST_TYPE_VALUE_PERFORMANCE

定数値: "performance"

TOKEN_KEY

public static final String TOKEN_KEY

定数値: "token"

フィールド

protected boolean mEnableResolveSymlinks

mRecoverDeviceByCvd

protected boolean mRecoverDeviceByCvd

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

ITTestSuite

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 から可能な abi を返します。

戻り値

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 を返します(ITTestSuite がまだシャーディングされていない場合)。

戻り値
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

isRemoveModuleBuffering

public boolean isRemoveModuleBuffering ()

戻り値
boolean

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

setAbis

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

setShouldMakeDynamicModule

public void setShouldMakeDynamicModule (boolean dynamicModule)

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

パラメータ
dynamicModule boolean

setSkipContext

public void setSkipContext (SkipContext skipContext)

パラメータ
skipContext SkipContext

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)

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

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

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

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

getAbisForBuildTargetArch

protected  getAbisForBuildTargetArch ()

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

戻り値

getHostAbis

protected  getHostAbis ()

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

戻り値

setPrioritizeHostConfig

protected void setPrioritizeHostConfig (boolean prioritizeHostConfig)

オプション prioritize-host-config を設定します。

パラメータ
prioritizeHostConfig boolean: ホスト構成を優先する場合(可能であればホストテストを実行する場合)は true。

shouldModuleRun

protected boolean shouldModuleRun (ModuleDefinition module)

パラメータ
module ModuleDefinition

戻り値
boolean