ITestSuite
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()
方法定义测试列表。
摘要
字段 | |
---|---|
public
static
final
String |
ABI_OPTION
|
public
static
final
String |
ACTIVE_MAINLINE_PARAMETER_KEY
|
public
static
final
String |
BUILD_ATTRIBUTE_FLAG_OVERRIDES_KEY
|
public
static
final
String |
ENABLE_RESOLVE_SYM_LINKS
|
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)
获取兼容性测试 |
static
|
getAbisForBuildTargetArchFromSuite()
从 TestSuiteInfo 返回可能的 abis。 |
IBuildInfo
|
getBuildInfo()
实现 |
final
IConfiguration
|
getConfiguration()
返回调用 |
ITestLogger
|
getCurrentTestLogger()
|
ITestDevice
|
getDevice()
获取被测设备。 |
ModuleDefinition
|
getDirectModule()
返回要直接执行的 |
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()
如果当前位于 |
abstract
|
loadTests()
用于加载要运行的测试配置的抽象方法。 |
void
|
reportNotExecuted(ITestInvocationListener listener, String message)
将未执行的测试报告给提供的主监听器。 |
void
|
reportNotExecuted(ITestInvocationListener listener)
向提供的主监听器报告未执行的测试。 |
final
void
|
run(TestInformation testInfo, ITestInvocationListener listener)
适用于从 |
void
|
setAbiName(String abiName)
设置 mAbiName 的值 |
final
void
|
setAbis(
|
void
|
setBuild(IBuildInfo buildInfo)
|
void
|
setCollectTestsOnly(boolean shouldCollectTest)
在仅收集器模式下运行测试套件,这需要所有子测试也实现此接口。 |
void
|
setConfiguration(IConfiguration configuration)
注入正在使用的 |
void
|
setDevice(ITestDevice device)
注入被测设备。 |
void
|
setDirectModule(ModuleDefinition module)
|
void
|
setIntraModuleSharding(boolean intraModuleSharding)
|
void
|
setInvocationContext(IInvocationContext invocationContext)
|
void
|
setMetricCollectors(
设置为测试运行定义的 |
void
|
setMultiDeviceStrategy(ITestSuite.MultiDeviceModuleStrategy strategy)
|
void
|
setPrimaryAbiRun(boolean primaryAbiRun)
设置 mPrimaryAbiRun 的值 |
void
|
setShouldMakeDynamicModule(boolean dynamicModule)
在进行分布式分片时,我们不能将模块定义共享到池中,否则模块内分片将不起作用,因此我们允许将其停用。 |
void
|
setSkipContext(SkipContext skipContext)
|
void
|
setSystemStatusChecker(
从测试的配置中设置 |
void
|
setTestLogger(ITestLogger testLogger)
注入 |
|
split(Integer shardCountHint, TestInformation testInfo)
|
受保护的方法 | |
---|---|
|
createModuleListeners()
返回适用于 |
boolean
|
filterByRunnerType(IConfiguration config,
应用运行程序白名单过滤条件,移除未列入白名单的所有运行程序。 |
|
getAbisForBuildTargetArch()
返回主机 build 目标架构支持的 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
BUILD_ATTRIBUTE_FLAG_OVERRIDES_KEY
public static final String BUILD_ATTRIBUTE_FLAG_OVERRIDES_KEY
ENABLE_RESOLVE_SYM_LINKS
public static final String ENABLE_RESOLVE_SYM_LINKS
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
PARAMETER_KEY
public static final String PARAMETER_KEY
PREPARER_WHITELIST
public static final String PREPARER_WHITELIST
PRIMARY_ABI_RUN
public static final String PRIMARY_ABI_RUN
RANDOM_SEED
public static final String RANDOM_SEED
RUNNER_白名单
public static final String RUNNER_WHITELIST
SKIP_HOST_ARCH_CHECK
public static final String SKIP_HOST_ARCH_CHECK
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
TOKEN_KEY
public static final String TOKEN_KEY
mEnableResolveSymlink
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
publicgetAbis (ITestDevice device)
获取兼容性测试 AbiUtils.getAbisSupportedByCompatibility()
和被测设备支持的一组 ABI。
参数 | |
---|---|
device |
ITestDevice |
返回 | |
---|---|
|
用于运行测试的一组 ABI |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getAbisForBuildTargetArchFromSuite
public staticgetAbisForBuildTargetArchFromSuite ()
从 TestSuiteInfo 返回可能的 abis。
返回 | |
---|---|
|
getConfiguration
public final IConfiguration getConfiguration ()
返回调用 IConfiguration
。
返回 | |
---|---|
IConfiguration |
getDirectModule
public ModuleDefinition getDirectModule ()
返回要直接执行的 ModuleDefinition
;如果还没有(ITestSuite 尚未分片),则返回 null。
返回 | |
---|---|
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
publicgetRequiredTokens (TestInformation testInfo)
返回测试所需的令牌列表。如果不支持令牌,则返回 null。
参数 | |
---|---|
testInfo |
TestInformation |
返回 | |
---|---|
|
getRuntimeHint
public long getRuntimeHint ()
返回测试的预期运行时(以毫秒为单位)。 该时间用于对分片执行进行负载均衡
返回 | |
---|---|
long |
getTestsDir
public File getTestsDir ()
返回 | |
---|---|
File |
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 |
|
setCollectTestsOnly
public void setCollectTestsOnly (boolean shouldCollectTest)
在“仅限收集器”模式下运行测试套件,这也需要所有子测试实现此接口。
setConfiguration
public void setConfiguration (IConfiguration configuration)
注入正在使用的 IConfiguration
。
参数 | |
---|---|
configuration |
IConfiguration |
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 |
setSystemStatusChecker
public void setSystemStatusChecker (systemCheckers)
从测试的配置中设置 ISystemStatusChecker
。
参数 | |
---|---|
systemCheckers |
|
setTestLogger
public void setTestLogger (ITestLogger testLogger)
注入 ITestLogger
实例
参数 | |
---|---|
testLogger |
ITestLogger |
分割
publicsplit (Integer shardCountHint, TestInformation testInfo)
split(int)
的替代版本,还提供一个 TestInformation
,其中包含创建分片的父级的早期信息。如果需要在分片期间访问设备或版本信息等内容,则这会非常有用。
参数 | |
---|---|
shardCountHint |
Integer :尝试的分片数。 |
testInfo |
TestInformation :父级 TestInformation |
返回 | |
---|---|
|
要单独执行的一组子测试,如果测试目前不可分片,则为 null |
受保护的方法
createModuleListeners
protectedcreateModuleListeners ()
返回适用于 ModuleListener
级别的 ITestInvocationListener
列表。这些监听器将用于每个模块,不会重新实例化,因此不应假定为内部状态。
返回 | |
---|---|
|
过滤依据类型
protected boolean filterByRunnerType (IConfiguration config,allowedRunners)
应用运行程序白名单过滤条件,移除未列入白名单的所有运行程序。如果配置有多个运行器,系统可能会移除其中一些,但配置仍会运行。
参数 | |
---|---|
config |
IConfiguration :要评估的 IConfiguration 。 |
allowedRunners |
:当前的运行程序白名单。 |
返回 | |
---|---|
boolean |
如果允许配置模块运行,则为 true,否则为 false。 |
getAbisForBuildTargetArch
protectedgetAbisForBuildTargetArch ()
返回主机 build 目标架构支持的 abis。公开以供测试。
返回 | |
---|---|
|
getHostAbis
protectedgetHostAbis ()
返回主机 abis。
返回 | |
---|---|
|
shouldModuleRun
protected boolean shouldModuleRun (ModuleDefinition module)
参数 | |
---|---|
module |
ModuleDefinition |
返回 | |
---|---|
boolean |