测试套件
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 | TOKEN_KEY
|
公共构造函数 | |
---|---|
ITestSuite () |
公共方法 | |
---|---|
void | addModuleMetadataExcludeFilters ( MultiMap <String, String> filters) |
void | addModuleMetadataIncludeFilters ( MultiMap <String, String> filters) |
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 () 返回要直接执行的 |
IInvocationContext | getInvocationContext () 返回调用上下文。 |
MultiMap <String, String> | getModuleMetadataIncludeFilters () |
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 ( abis) setAbis ( abis) |
void | setBuild ( IBuildInfo buildInfo) |
void | setCollectTestsOnly (boolean shouldCollectTest) 在仅收集器模式下运行测试套件,这要求所有子测试也实现该接口。 |
void | setConfiguration ( IConfiguration configuration) 注入正在使用的 |
void | setDevice ( ITestDevice device) 注入被测设备。 |
void | setDirectModule ( ModuleDefinition module) |
void | setInvocationContext ( IInvocationContext invocationContext) |
void | setMetricCollectors ( collectors) setMetricCollectors ( collectors) 设置为测试运行定义的 |
void | setPrimaryAbiRun (boolean primaryAbiRun) 设置 mPrimaryAbiRun 的值 |
void | setShouldMakeDynamicModule (boolean dynamicModule) 在进行分布式分片时,我们不能让 ModuleDefinition 在池中共享测试,否则模块内分片将无法工作,因此我们允许禁用它。 |
void | setSystemStatusChecker ( systemCheckers) setSystemStatusChecker ( systemCheckers) 从测试配置中设置 |
void | setTestLogger ( ITestLogger testLogger) 注入 |
split (Integer shardCountHint, TestInformation testInfo) |
受保护的方法 | |
---|---|
createModuleListeners () 返回适用于 | |
boolean | filterByRunnerType ( IConfiguration config, allowedRunners) filterByRunnerType ( IConfiguration config, allowedRunners) 应用运行器白名单过滤,删除任何未列入白名单的运行器。 |
getAbisForBuildTargetArch () 返回主机构建目标架构支持的abis。 | |
getHostAbis () 返回主机 abis。 | |
void | setMultiDeviceStrategy ( ITestSuite.MultiDeviceModuleStrategy strategy) |
boolean | shouldModuleRun ( ModuleDefinition module) |
领域
ABI_选项
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_白名单
public static final String PREPARER_WHITELIST
PRIMARY_ABI_RUN
public static final String PRIMARY_ABI_RUN
随机种子
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
TOKEN_KEY
public static final String TOKEN_KEY
公共构造函数
测试套件
public ITestSuite ()
公共方法
添加模块元数据排除过滤器
public void addModuleMetadataExcludeFilters (MultiMap<String, String> filters)
参数 | |
---|---|
filters | MultiMap |
添加模块元数据包含过滤器
public void addModuleMetadataIncludeFilters (MultiMap<String, String> filters)
参数 | |
---|---|
filters | MultiMap |
按配置元数据过滤
public boolean filterByConfigMetadata (IConfiguration config, MultiMap<String, String> include, MultiMap<String, String> exclude)
将元数据过滤器应用于配置并查看配置是否应该运行。
参数 | |
---|---|
config | IConfiguration :正在评估的IConfiguration 。 |
include | MultiMap :元数据包括过滤器 |
exclude | MultiMap :元数据排除过滤器 |
退货 | |
---|---|
boolean | 如果模块应该运行则为 true,否则为 false。 |
获取阿比斯
publicgetAbis (ITestDevice device)
获取兼容性测试AbiUtils.getAbisSupportedByCompatibility()
和被测设备支持的 ABI 集。
参数 | |
---|---|
device | ITestDevice |
退货 | |
---|---|
用于运行测试的 ABI 集 |
投掷 | |
---|---|
| com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getAbisForBuildTargetArchFromSuite
public staticgetAbisForBuildTargetArchFromSuite ()
从 TestSuiteInfo 返回可能的 abis。
退货 | |
---|---|
获取直接模块
public ModuleDefinition getDirectModule ()
返回要直接执行的ModuleDefinition
,如果还没有则返回 null(当 ITestSuite 尚未分片时)。
退货 | |
---|---|
ModuleDefinition |
获取模块元数据包含过滤器
public MultiMap<String, String> getModuleMetadataIncludeFilters ()
退货 | |
---|---|
MultiMap <String, String> |
获取请求的Abi
public final String getRequestedAbi ()
返回使用选项 -a 或 --abi 请求的 abi。
退货 | |
---|---|
String |
获取所需令牌
publicgetRequiredTokens (TestInformation testInfo)
返回测试所需令牌的列表。如果没有令牌支持,则返回 null。
参数 | |
---|---|
testInfo | TestInformation |
退货 | |
---|---|
获取运行时提示
public long getRuntimeHint ()
返回测试的预期运行时间(以毫秒为单位)。该时间用于负载平衡分片执行
退货 | |
---|---|
long |
获取测试目录
public File getTestsDir ()
退货 | |
---|---|
File |
报告未执行
public void reportNotExecuted (ITestInvocationListener listener, String message)
向提供的主要侦听器报告未执行的测试。应将它们报告为失败,并显示NOT_EXECUTED_FAILURE
消息。
参数 | |
---|---|
listener | ITestInvocationListener :报告未执行结果的主要侦听器。 |
message | String :与未执行的失败关联的消息。 |
报告未执行
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 |
设置Abi名称
public void setAbiName (String abiName)
设置 mAbiName 的值
参数 | |
---|---|
abiName | String |
设置Abis
public final void setAbis (abis)
参数 | |
---|---|
abis |
仅设置收集测试
public void setCollectTestsOnly (boolean shouldCollectTest)
在仅收集器模式下运行测试套件,这要求所有子测试也实现该接口。
设置配置
public void setConfiguration (IConfiguration configuration)
注入正在使用的IConfiguration
。
参数 | |
---|---|
configuration | IConfiguration |
设置调用上下文
public void setInvocationContext (IInvocationContext invocationContext)
参数 | |
---|---|
invocationContext | IInvocationContext |
设置MetricCollectors
public void setMetricCollectors (collectors)
设置为测试运行定义的IMetricCollector
列表。
参数 | |
---|---|
collectors |
设置PrimaryAbiRun
public void setPrimaryAbiRun (boolean primaryAbiRun)
设置 mPrimaryAbiRun 的值
参数 | |
---|---|
primaryAbiRun | boolean |
setShouldMakeDynamicModule
public void setShouldMakeDynamicModule (boolean dynamicModule)
在进行分布式分片时,我们不能让 ModuleDefinition 在池中共享测试,否则模块内分片将无法工作,因此我们允许禁用它。
参数 | |
---|---|
dynamicModule | boolean |
设置系统状态检查器
public void setSystemStatusChecker (systemCheckers)
从测试配置中设置ISystemStatusChecker
。
参数 | |
---|---|
systemCheckers |
分裂
publicsplit (Integer shardCountHint, TestInformation testInfo)
split(int)
的替代版本还提供TestInformation
,其中包含来自创建分片的父级的早期信息。如果在分片期间需要访问设备或构建信息等内容,那么它非常有用。
参数 | |
---|---|
shardCountHint | Integer :尝试的分片计数。 |
testInfo | TestInformation :父TestInformation |
退货 | |
---|---|
要单独执行的子测试的集合,如果测试当前不可分片,则为null |
受保护的方法
创建模块监听器
protectedcreateModuleListeners ()
返回适用于ModuleListener
级别的ITestInvocationListener
列表。这些侦听器将被每个模块重复使用,它们不会被重新实例化,因此它们不应呈现内部状态。
退货 | |
---|---|
按运行器类型过滤
protected boolean filterByRunnerType (IConfiguration config,allowedRunners)
应用运行器白名单过滤,删除任何未列入白名单的运行器。如果配置有多个运行程序,则某些运行程序可能会被删除,但配置仍将运行。
参数 | |
---|---|
config | IConfiguration :正在评估的IConfiguration 。 |
allowedRunners |
退货 | |
---|---|
boolean | 如果允许配置模块运行则为 true,否则为 false。 |
getAbisForBuildTargetArch
protectedgetAbisForBuildTargetArch ()
返回主机构建目标架构支持的abis。暴露进行测试。
退货 | |
---|---|
获取主机Abis
protectedgetHostAbis ()
返回主机 abis。
退货 | |
---|---|
设置多设备策略
protected void setMultiDeviceStrategy (ITestSuite.MultiDeviceModuleStrategy strategy)
参数 | |
---|---|
strategy | ITestSuite.MultiDeviceModuleStrategy |
应该模块运行
protected boolean shouldModuleRun (ModuleDefinition module)
参数 | |
---|---|
module | ModuleDefinition |
退货 | |
---|---|
boolean |