測試套件
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) 取得相容性測試 | |
static | getAbisForBuildTargetArchFromSuite () 從 TestSuiteInfo 傳回可能的 abis。 |
IBuildInfo | getBuildInfo () |
final IConfiguration | getConfiguration () 返回調用 |
ITestLogger | getCurrentTestLogger () |
ITestDevice | getDevice () 獲取被測設備。 |
ModuleDefinition | getDirectModule () 傳回要直接執行的 |
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 ( abis) setAbis ( abis) |
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 ( collectors) setMetricCollectors ( collectors) 設定為測試運行定義的 |
void | setMultiDeviceStrategy ( ITestSuite.MultiDeviceModuleStrategy strategy) |
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。 | |
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。 |
取得阿比斯
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> |
取得多設備策略
public ITestSuite.MultiDeviceModuleStrategy getMultiDeviceStrategy ()
退貨 | |
---|---|
ITestSuite.MultiDeviceModuleStrategy |
獲取請求的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 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 |
分裂
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 boolean shouldModuleRun (ModuleDefinition module)
參數 | |
---|---|
module | ModuleDefinition |
退貨 | |
---|---|
boolean |