测试套件

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_METADATA_EXCLUDE_FILTER

public static final String MODULE_METADATA_INCLUDE_FILTER

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_SYSTEM_STATUS_CHECKER

public static final String TOKEN_KEY

公共构造函数

ITestSuite ()

公共方法

void addModuleMetadataExcludeFilters ( MultiMap <String, String> filters)
void addModuleMetadataIncludeFilters ( MultiMap <String, String> filters)
getAbis ( ITestDevice device)

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

static getAbisForBuildTargetArchFromSuite ()

从 TestSuiteInfo 返回可能的 abis。

IBuildInfo getBuildInfo ()

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

final IConfiguration getConfiguration ()

返回调用IConfiguration

ITestLogger getCurrentTestLogger ()
ITestDevice getDevice ()

获取待测设备。

ModuleDefinition getDirectModule ()

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

IInvocationContext getInvocationContext ()

返回调用上下文。

MultiMap <String, String> getModuleMetadataIncludeFilters ()
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 setInvocationContext ( IInvocationContext invocationContext)

void setMetricCollectors ( collectors) setMetricCollectors ( collectors)

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

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 filterByConfigMetadata ( IConfiguration config, MultiMap <String, String> include, MultiMap <String, String> exclude)

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

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

应用 Runner 白名单过滤,删除任何未列入白名单的 runner。

getAbisForBuildTargetArch ()

返回主机构建目标体系结构支持的 abis。

getHostAbis ()

返回主机 abis。

void setMultiDeviceStrategy ( ITestSuite.MultiDeviceModuleStrategy strategy)
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_METADATA_EXCLUDE_FILTER

public static final String MODULE_METADATA_EXCLUDE_FILTER

MODULE_METADATA_INCLUDE_FILTER

public static final String MODULE_METADATA_INCLUDE_FILTER

PARAMETER_KEY

public static final String PARAMETER_KEY

PREPARER_WHITELIST

public static final String PREPARER_WHITELIST

主要_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_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

获取Abis

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 ,如果还没有(当 ITestSuite 尚未分片时)则返回 null。

退货
ModuleDefinition

获取调用上下文

public IInvocationContext getInvocationContext ()

返回调用上下文。

退货
IInvocationContext

getModuleMetadataIncludeFilters

public MultiMap<String, String> getModuleMetadataIncludeFilters ()

退货
MultiMap <String, String>

获取请求的Abi

public final String getRequestedAbi ()

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

退货
String

getRequiredTokens

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

listener ITestInvocationListener : 测试结果的ITestInvocationListener

投掷
DeviceNotAvailableException

设置AbiName

public void setAbiName (String abiName)

设置 mAbiName 的值

参数
abiName String

setAbis

public final void setAbis ( abis)

参数
abis

设置构建

public void setBuild (IBuildInfo buildInfo)

参数
buildInfo IBuildInfo

setCollectTestsOnly

public void setCollectTestsOnly (boolean shouldCollectTest)

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

设置配置

public void setConfiguration (IConfiguration configuration)

注入正在使用的IConfiguration

参数
configuration IConfiguration

设置设备

public void setDevice (ITestDevice device)

注入被测设备。

参数
device ITestDevice :要使用的ITestDevice

设置DirectModule

public void setDirectModule (ModuleDefinition module)

参数
module ModuleDefinition

设置调用上下文

public void setInvocationContext (IInvocationContext invocationContext)

参数
invocationContext IInvocationContext

setMetricCollectors

public void setMetricCollectors ( collectors)

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

参数
collectors

setPrimaryAbiRun

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 filterByConfigMetadata (IConfiguration config, 
                MultiMap<String, String> include, 
                MultiMap<String, String> exclude)

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

参数
config IConfiguration :正在评估的IConfiguration

include MultiMap :元数据包含过滤器

exclude MultiMap :元数据排除过滤器

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

按跑者类型过滤

protected boolean filterByRunnerType (IConfiguration config, 
                 allowedRunners)

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

参数
config IConfiguration :正在评估的IConfiguration

allowedRunners : 当前运行者白名单。

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

获取AbisForBuildTargetArch

protected  getAbisForBuildTargetArch ()

返回主机构建目标体系结构支持的 abis。暴露测试。

退货

getHostAbis

protected  getHostAbis ()

返回主机 abis。

退货

设置多设备策略

protected void setMultiDeviceStrategy (ITestSuite.MultiDeviceModuleStrategy strategy)

参数
strategy ITestSuite.MultiDeviceModuleStrategy

应该模块运行

protected boolean shouldModuleRun (ModuleDefinition module)

参数
module ModuleDefinition

退货
boolean