ITestSuite
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 | REBOOT_BEFORE_TEST |
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) |
final void | enableRebootBeforeTest () 將測試前重新啟動設置為true。 |
getAbis (ITestDevice device) 獲取兼容性測試 | |
IBuildInfo | getBuildInfo () |
final IConfiguration | getConfiguration () 返回調用 |
ITestLogger | getCurrentTestLogger () |
ITestDevice | getDevice () 獲取被測設備。 |
ModuleDefinition | getDirectModule () 返回要直接執行的 |
IInvocationContext | getInvocationContext () 返回調用上下文。 |
final String | getRequestedAbi () 返回帶有選項-a或--abi的abi。 |
getRequiredTokens () | |
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的值 |
void | setBuild (IBuildInfo buildInfo) |
void | setCollectTestsOnly (boolean shouldCollectTest) 在僅收集器模式下運行測試套件,這也要求所有子測試也要實現此接口。 |
void | setConfiguration ( IConfiguration configuration) 注入正在使用的 |
void | setDevice (ITestDevice device) 注入被測設備。 |
void | setInvocationContext (IInvocationContext invocationContext) |
void | setInvocationInjector (Injector injector) 從調用中獲取當前的Guice |
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 | filterByConfigMetadata ( IConfiguration config, MultiMap<String, String> include, MultiMap<String, String> exclude) 將元數據過濾器應用於配置,然後查看配置是否應運行。 |
boolean | filterByRunnerType ( IConfiguration config, allowedRunners) filterByRunnerType ( IConfiguration config, allowedRunners) 應用“跑步者”白名單過濾,刪除所有未列入白名單的跑步者。 |
getAbisForBuildTargetArch () 返回主機構建目標體系結構支持的abis。 | |
getHostAbis () 返回主機abis。 |
領域
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
PRIMARY_ABI_RUN
public static final String PRIMARY_ABI_RUN
RANDOM_SEED
public static final String RANDOM_SEED
REBOOT_BEFORE_TEST
public static final String REBOOT_BEFORE_TEST
RUNNER_WHITELIST
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
公共建設者
ITestSuite
public ITestSuite ()
公開方法
addModuleMetadataExcludeFilters
public void addModuleMetadataExcludeFilters (MultiMap<String, String> filters)
參量 | |
---|---|
filters | MultiMap |
addModuleMetadataIncludeFilters
public void addModuleMetadataIncludeFilters (MultiMap<String, String> filters)
參量 | |
---|---|
filters | MultiMap |
enableRebootBeforeTest
public final void enableRebootBeforeTest ()
將測試前重新啟動設置為true。
getAbis
publicgetAbis (ITestDevice device)
獲取兼容性測試AbiUtils#getAbisSupportedByCompatibility()
和被測設備支持的ABI集。
參量 | |
---|---|
device | ITestDevice |
退貨 | |
---|---|
在其上運行測試的一組ABI |
投擲 | |
---|---|
DeviceNotAvailableException |
getConfiguration
public final IConfiguration getConfiguration ()
返回調用IConfiguration
。
退貨 | |
---|---|
IConfiguration |
getCurrentTestLogger
public ITestLogger getCurrentTestLogger ()
退貨 | |
---|---|
ITestLogger |
getDirectModule
public ModuleDefinition getDirectModule ()
返回要直接執行的ModuleDefinition
,如果尚未執行,則返回null(當尚未拆分ITestSuite時)。
退貨 | |
---|---|
ModuleDefinition |
getInvocationContext
public IInvocationContext getInvocationContext ()
返回調用上下文。
退貨 | |
---|---|
IInvocationContext |
getRequestedAbi
public final String getRequestedAbi ()
返回帶有選項-a或--abi的abi。
退貨 | |
---|---|
String |
getRequiredTokens
publicgetRequiredTokens ()
退貨 | |
---|---|
getRuntimeHint
public long getRuntimeHint ()
返回測試的預期運行時間(以毫秒為單位)。該時間用於平衡分片執行的負載
退貨 | |
---|---|
long |
getTestsDir
public File getTestsDir ()
退貨 | |
---|---|
File |
loadTests
public abstractloadTests ()
加載將要運行的測試配置的抽象方法。每個測試均由一個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 |
listener | ITestInvocationListener |
投擲 | |
---|---|
DeviceNotAvailableException |
setAbiName
public void setAbiName (String abiName)
設置mAbiName的值
參量 | |
---|---|
abiName | String |
setBuild
public void setBuild (IBuildInfo buildInfo)
參量 | |
---|---|
buildInfo | IBuildInfo |
setCollectTestsOnly
public void setCollectTestsOnly (boolean shouldCollectTest)
在僅收集器模式下運行測試套件,這也要求所有子測試也要實現此接口。
setConfiguration
public void setConfiguration (IConfiguration configuration)
注入正在使用的IConfiguration
。
參量 | |
---|---|
configuration | IConfiguration |
setInvocationContext
public void setInvocationContext (IInvocationContext invocationContext)
參量 | |
---|---|
invocationContext | IInvocationContext |
setInvocationInjector
public void setInvocationInjector (Injector injector)
從調用中獲取當前的Guice Injector
。它應該允許我們繼續對象的模塊注入。
參量 | |
---|---|
injector | Injector |
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 |
setSystemStatusChecker
public void setSystemStatusChecker (systemCheckers)
從測試的配置設置ISystemStatusChecker
。
參量 | |
---|---|
systemCheckers |
setTestLogger
public void setTestLogger (ITestLogger testLogger)
參量 | |
---|---|
testLogger | ITestLogger |
分裂
publicsplit (Integer shardCountHint, TestInformation testInfo)
split(int)
替代版本,還提供TestInformation
,其中包含來自創建碎片的父級的早期信息。如果在分片過程中需要訪問設備或構建信息之類的東西,則很有用。
參量 | |
---|---|
shardCountHint | Integer :嘗試的分片計數。 |
testInfo | TestInformation :父TestInformation |
退貨 | |
---|---|
要單獨執行的子測試的集合;如果當前無法分測,則為null |
受保護的方法
createModuleListeners
protectedcreateModuleListeners ()
返回適用於ModuleListener
級別的ITestInvocationListener
的列表。這些偵聽器將在每個模塊中重新使用,不會被重新實例化,因此它們不應處於內部狀態。
退貨 | |
---|---|
filterByConfigMetadata
protected boolean filterByConfigMetadata (IConfiguration config, MultiMap<String, String> include, MultiMap<String, String> exclude)
將元數據過濾器應用於配置,然後查看配置是否應運行。
參量 | |
---|---|
config | IConfiguration :正在評估的IConfiguration 。 |
include | MultiMap :元數據包含過濾器 |
exclude | MultiMap :元數據排除過濾器 |
退貨 | |
---|---|
boolean | 如果模塊應該運行,則為true,否則為false。 |
filterByRunnerType
protected boolean filterByRunnerType (IConfiguration config,allowedRunners)
應用“跑步者”白名單過濾,刪除所有未列入白名單的跑步者。如果配置中有多個運行程序,則可能會刪除一些運行程序,並且配置仍將運行。
參量 | |
---|---|
config | IConfiguration :正在評估的IConfiguration 。 |
allowedRunners |
退貨 | |
---|---|
boolean | 如果允許配置模塊運行,則為true,否則為false。 |
getAbisForBuildTargetArch
protectedgetAbisForBuildTargetArch ()
返回主機構建目標體系結構支持的abis。暴露於測試。
退貨 | |
---|---|
getHostAbis
protectedgetHostAbis ()
返回主機abis。
退貨 | |
---|---|