测试套件

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 TEST_TYPE_KEY

public static final String TEST_TYPE_VALUE_PERFORMANCE

public static final String TOKEN_KEY

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 返回可能的 abis。

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) 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) setMetricCollectors ( collectors)

设置为测试运行定义的IMetricCollector列表。

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

设置 mPrimaryAbiRun 的值

void setShouldMakeDynamicModule (boolean dynamicModule)

在进行分布式分片时,我们不能让 ModuleDefinition 在池中共享测试,否则模块内分片将无法工作,因此我们允许禁用它。

void setSystemStatusChecker ( systemCheckers) setSystemStatusChecker ( systemCheckers)

从测试配置中设置ISystemStatusChecker

void setTestLogger ( ITestLogger testLogger)

注入ITestLogger实例

split (Integer shardCountHint, TestInformation testInfo)

split(int)的替代版本还提供TestInformation ,其中包含来自创建分片的父级的早期信息。

受保护的方法

createModuleListeners ()

返回适用于ModuleListener级别的ITestInvocationListener列表。

boolean filterByRunnerType ( IConfiguration config, allowedRunners) filterByRunnerType ( IConfiguration config, allowedRunners)

应用运行器白名单过滤,删除任何未列入白名单的运行器。

getAbisForBuildTargetArch ()

返回主机构建目标架构支持的abis。

getHostAbis ()

返回主机 abis。

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

测试类型键

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

mRecoverDeviceByCvd

protected boolean mRecoverDeviceByCvd

公共构造函数

测试套件

public ITestSuite ()

公共方法

添加模块元数据排除过滤器

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

参数
filters MultiMap

添加模块元数据包含过滤器

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

参数
filters MultiMap

cleanUpSuite安装程序

public void cleanUpSuiteSetup ()

有机会清理套件设置过程中所需但运行测试不需要的所有内容。

按配置元数据过滤

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

将元数据过滤器应用于配置并查看配置是否应该运行。

参数
config IConfiguration :正在评估的IConfiguration

include MultiMap :元数据包括过滤器

exclude MultiMap :元数据排除过滤器

退货
boolean如果模块应该运行则为 true,否则为 false。

获取阿比斯

public  getAbis (ITestDevice device)

获取兼容性测试AbiUtils.getAbisSupportedByCompatibility()和被测设备支持的 ABI 集。

参数
device ITestDevice

退货
用于运行测试的 ABI 集

投掷
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

getAbisForBuildTargetArchFromSuite

public static  getAbisForBuildTargetArchFromSuite ()

从 TestSuiteInfo 返回可能的 abis。

退货

获取构建信息

public IBuildInfo getBuildInfo ()

ITestSuite的实现可能需要构建信息来加载测试。

退货
IBuildInfo

获取配置

public final IConfiguration getConfiguration ()

返回调用IConfiguration

退货
IConfiguration

获取当前测试记录器

public ITestLogger getCurrentTestLogger ()

退货
ITestLogger

获取设备

public ITestDevice getDevice ()

获取被测设备。

退货
ITestDevice ITestDevice

获取直接模块

public ModuleDefinition getDirectModule ()

返回要直接执行的ModuleDefinition ,如果还没有则返回 null(当 ITestSuite 尚未分片时)。

退货
ModuleDefinition

获取模块内分片

public boolean getIntraModuleSharding ()

退货
boolean

获取调用上下文

public IInvocationContext getInvocationContext ()

返回调用上下文。

退货
IInvocationContext

获取模块元数据包含过滤器

public MultiMap<String, String> getModuleMetadataIncludeFilters ()

退货
MultiMap <String, String>

获取多设备策略

public ITestSuite.MultiDeviceModuleStrategy getMultiDeviceStrategy ()

退货
ITestSuite.MultiDeviceModuleStrategy

获取请求的Abi

public final String getRequestedAbi ()

返回使用选项 -a 或 --abi 请求的 abi。

退货
String

获取所需令牌

public  getRequiredTokens (TestInformation testInfo)

返回测试所需令牌的列表。如果没有令牌支持,则返回 null。

参数
testInfo TestInformation

退货

获取运行时提示

public long getRuntimeHint ()

返回测试的预期运行时间(以毫秒为单位)。该时间用于负载平衡分片执行

退货
long

获取测试目录

public File getTestsDir ()

退货
File

正在分裂

public boolean isSplitting ()

如果我们当前处于IShardableTest.split(int)中,则返回 true。

退货
boolean

负载测试

public abstract  loadTests ()

加载将要运行的测试配置的抽象方法。每个测试均由IConfiguration和报告结果的唯一名称定义。

退货

报告未执行

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 TestInformationTestInformation对象包含运行测试的有用信息。

listener ITestInvocationListener :测试结果的ITestInvocationListener

投掷
DeviceNotAvailableException

设置Abi名称

public void setAbiName (String abiName)

设置 mAbiName 的值

参数
abiName String

设置Abis

public final void setAbis ( abis)

参数
abis

设置构建

public void setBuild (IBuildInfo buildInfo)

参数
buildInfo IBuildInfo

仅设置收集测试

public void setCollectTestsOnly (boolean shouldCollectTest)

在仅收集器模式下运行测试套件,这要求所有子测试也实现该接口。

设置配置

public void setConfiguration (IConfiguration configuration)

注入正在使用的IConfiguration

参数
configuration IConfiguration

设置设备

public void setDevice (ITestDevice device)

注入被测设备。

参数
device ITestDevice :要使用的ITestDevice

设置直接模块

public void setDirectModule (ModuleDefinition module)

参数
module ModuleDefinition

设置模块内分片

public void setIntraModuleSharding (boolean intraModuleSharding)

参数
intraModuleSharding boolean

设置调用上下文

public void setInvocationContext (IInvocationContext invocationContext)

参数
invocationContext IInvocationContext

设置MetricCollectors

public void setMetricCollectors ( collectors)

设置为测试运行定义的IMetricCollector列表。

参数
collectors

设置多设备策略

public void setMultiDeviceStrategy (ITestSuite.MultiDeviceModuleStrategy strategy)

参数
strategy ITestSuite.MultiDeviceModuleStrategy

设置PrimaryAbiRun

public void setPrimaryAbiRun (boolean primaryAbiRun)

设置 mPrimaryAbiRun 的值

参数
primaryAbiRun boolean

setShouldMakeDynamicModule

public void setShouldMakeDynamicModule (boolean dynamicModule)

在进行分布式分片时,我们不能让 ModuleDefinition 在池中共享测试,否则模块内分片将无法工作,因此我们允许禁用它。

参数
dynamicModule boolean

设置系统状态检查器

public void setSystemStatusChecker ( systemCheckers)

从测试配置中设置ISystemStatusChecker

参数
systemCheckers

设置测试记录器

public void setTestLogger (ITestLogger testLogger)

注入ITestLogger实例

参数
testLogger ITestLogger

分裂

public  split (Integer shardCountHint, 
                TestInformation testInfo)

split(int)的替代版本还提供TestInformation ,其中包含来自创建分片的父级的早期信息。如果在分片期间需要访问设备或构建信息等内容,那么它非常有用。

参数
shardCountHint Integer :尝试的分片计数。

testInfo TestInformation :父TestInformation

退货
要单独执行的子测试集合,如果测试当前不可分片,则为null

受保护的方法

创建模块监听器

protected  createModuleListeners ()

返回适用于ModuleListener级别的ITestInvocationListener列表。这些侦听器将被每个模块重复使用,它们不会被重新实例化,因此它们不应呈现内部状态。

退货

按运行器类型过滤

protected boolean filterByRunnerType (IConfiguration config, 
                 allowedRunners)

应用运行器白名单过滤,删除任何未列入白名单的运行器。如果配置有多个运行程序,则某些运行程序可能会被删除,但配置仍将运行。

参数
config IConfiguration :正在评估的IConfiguration

allowedRunners :当前运行者白名单。

退货
boolean如果允许配置模块运行则为 true,否则为 false。

getAbisForBuildTargetArch

protected  getAbisForBuildTargetArch ()

返回主机构建目标架构支持的abis。暴露进行测试。

退货

获取主机Abis

protected  getHostAbis ()

返回主机 abis。

退货

应该模块运行

protected boolean shouldModuleRun (ModuleDefinition module)

参数
module ModuleDefinition

退货
boolean