ITestSuite
public
abstract
class
ITestSuite
extends Object
implements
IBuildReceiver,
IConfigurationReceiver,
IDeviceTest,
IInvocationContextReceiver,
IMetricCollectorReceiver,
IRemoteTest,
IReportNotExecuted,
IRuntimeHintProvider,
IShardableTest,
ISystemStatusCheckerReceiver,
ITestCollector,
ITestLoggerReceiver,
ITokenRequest
java.lang.Object | |
↳ | com.android.tradefed.testtype.suite.ITestSuite |
用於執行 Test Suite 的抽象類別。這個類別提供套件執行方式的基礎。
每項實作都能透過 loadTests()
方法定義測試清單。
摘要
欄位 | |
---|---|
public
static
final
String |
ABI_OPTION
|
public
static
final
String |
ACTIVE_MAINLINE_PARAMETER_KEY
|
public
static
final
String |
ENABLE_RESOLVE_SYM_LINKS
|
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 |
STAGE_MODULE_ARTIFACTS
|
public
static
final
String |
TEST_TYPE_KEY
|
public
static
final
String |
TEST_TYPE_VALUE_PERFORMANCE
|
public
static
final
String |
TOKEN_KEY
|
protected
boolean |
mEnableResolveSymlinks
|
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()
傳回要直接執行的 |
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()
如果我們目前位於 |
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(
|
void
|
setBuild(IBuildInfo buildInfo)
|
void
|
setCollectTestsOnly(boolean shouldCollectTest)
在「僅限收集器」模式下執行測試套件,所有子測試都必須完成實作 存取 API |
void
|
setConfiguration(IConfiguration configuration)
插入使用中的 |
void
|
setDevice(ITestDevice device)
插入要測試的裝置。 |
void
|
setDirectModule(ModuleDefinition module)
|
void
|
setIntraModuleSharding(boolean intraModuleSharding)
|
void
|
setInvocationContext(IInvocationContext invocationContext)
|
void
|
setMetricCollectors(
設定測試執行作業定義的 |
void
|
setMultiDeviceStrategy(ITestSuite.MultiDeviceModuleStrategy strategy)
|
void
|
setPrimaryAbiRun(boolean primaryAbiRun)
設定 mPrimaryAbiRun 的值 |
void
|
setShouldMakeDynamicModule(boolean dynamicModule)
進行分散式資料分割時,我們無法讓 ModuleDefinition 共用集區中的測試 否則模組內資料分割將無法運作,因此我們允許停用該功能。 |
void
|
setSystemStatusChecker(
從測試設定設置 |
void
|
setTestLogger(ITestLogger testLogger)
插入 |
|
split(Integer shardCountHint, TestInformation testInfo)
|
保護方法 | |
---|---|
|
createModuleListeners()
傳回 |
boolean
|
filterByRunnerType(IConfiguration config,
套用執行器許可清單篩選,移除未加入許可清單的所有執行器。 |
|
getAbisForBuildTargetArch()
傳回主機建構目標架構支援的 Abis。 |
|
getHostAbis()
傳回主機機器 abi。 |
boolean
|
shouldModuleRun(ModuleDefinition module)
|
欄位
ABI_OPTION
public static final String ABI_OPTION
有效_MAINLINE_PARAMETER_KEY
public static final String ACTIVE_MAINLINE_PARAMETER_KEY
ENABLE_RESOLVE_SYM_LINKS
public static final String ENABLE_RESOLVE_SYM_LINKS
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_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
執行許可清單
public static final String RUNNER_WHITELIST
略過
public static final String SKIP_HOST_ARCH_CHECK
略過圖片
public static final String SKIP_STAGING_ARTIFACTS
SKIP_SYSTEM_STATUS_CHECKER
public static final String SKIP_SYSTEM_STATUS_CHECKER
STAGE_MODULE_ARTIFACTS
public static final String STAGE_MODULE_ARTIFACTS
TEST_TYPE_KEY
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
mEnableResolveSymlinks
protected boolean mEnableResolveSymlinks
mRecoveryDeviceByCvd
protected boolean mRecoverDeviceByCvd
公用建構函式
ITestSuite
public ITestSuite ()
公用方法
addModuleMetadataExcludeFilters
public void addModuleMetadataExcludeFilters (MultiMap<String, String> filters)
參數 | |
---|---|
filters |
MultiMap |
addModuleMetadataIncludeFilters
public void addModuleMetadataIncludeFilters (MultiMap<String, String> filters)
參數 | |
---|---|
filters |
MultiMap |
ClearUpSuite 設定
public void cleanUpSuiteSetup ()
有機會清理套件設定過程中的一切所需,但不包括 執行測試所需的最低數量
篩選 ByConfigMetadata
public boolean filterByConfigMetadata (IConfiguration config, MultiMap<String, String> include, MultiMap<String, String> exclude)
將中繼資料篩選條件套用至設定,並確認設定是否應執行。
參數 | |
---|---|
config |
IConfiguration :要評估的 IConfiguration 。 |
include |
MultiMap :中繼資料包含篩選條件 |
exclude |
MultiMap :中繼資料「排除」篩選器 |
傳回 | |
---|---|
boolean |
如果模組應該執行,則為「true」,否則傳回「false」。 |
getAbis
publicgetAbis (ITestDevice device)
取得相容性測試 AbiUtils.getAbisSupportedByCompatibility()
和受測試裝置支援的 ABI 組合。
參數 | |
---|---|
device |
ITestDevice |
傳回 | |
---|---|
|
要執行測試的 ABI 組合 |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
getAbisForBuildTargetArchFromSuite
public staticgetAbisForBuildTargetArchFromSuite ()
從 TestSuiteInfo 傳回可能的 Abis。
傳回 | |
---|---|
|
getConfiguration
public final IConfiguration getConfiguration ()
傳回叫用 IConfiguration
。
傳回 | |
---|---|
IConfiguration |
getDirectModule
public ModuleDefinition getDirectModule ()
傳回要直接執行的 ModuleDefinition
,如果還沒有,則傳回空值 (如果
ITestSuite 尚未進行資料分割)。
傳回 | |
---|---|
ModuleDefinition |
getIntraModuleSharding
public boolean getIntraModuleSharding ()
傳回 | |
---|---|
boolean |
getInvocationContext
public IInvocationContext getInvocationContext ()
傳回叫用內容。
傳回 | |
---|---|
IInvocationContext |
getModuleMetadataIncludeFilters
public MultiMap<String, String> getModuleMetadataIncludeFilters ()
傳回 | |
---|---|
MultiMap<String, String> |
getMultiDeviceStrategy
public ITestSuite.MultiDeviceModuleStrategy getMultiDeviceStrategy ()
傳回 | |
---|---|
ITestSuite.MultiDeviceModuleStrategy |
getRequestedAbi
public final String getRequestedAbi ()
傳回以 -a 或 --abi 選項要求的 abi。
傳回 | |
---|---|
String |
getRequiredTokens
publicgetRequiredTokens (TestInformation testInfo)
傳回測試的必要權杖清單。如果沒有憑證支援,則傳回空值。
參數 | |
---|---|
testInfo |
TestInformation |
傳回 | |
---|---|
|
getRuntimeHint
public long getRuntimeHint ()
傳回測試的預期執行階段, 毫秒。 這個時間可用來平衡資料分割執行作業
傳回 | |
---|---|
long |
getTestsDir
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 |
設定 AbiName
public void setAbiName (String abiName)
設定 mAbiName 的值
參數 | |
---|---|
abiName |
String |
setAbis
public final void setAbis (abis)
參數 | |
---|---|
abis |
|
setCollectTestsOnly
public void setCollectTestsOnly (boolean shouldCollectTest)
在「僅限收集器」模式下執行測試套件,所有子測試都必須完成實作 存取 API
setConfiguration
public void setConfiguration (IConfiguration configuration)
插入使用中的 IConfiguration
。
參數 | |
---|---|
configuration |
IConfiguration |
setDevice
public void setDevice (ITestDevice device)
插入要測試的裝置。
參數 | |
---|---|
device |
ITestDevice :要使用的 ITestDevice |
setIntraModuleSharding
public void setIntraModuleSharding (boolean intraModuleSharding)
參數 | |
---|---|
intraModuleSharding |
boolean |
setInvocationContext
public void setInvocationContext (IInvocationContext invocationContext)
參數 | |
---|---|
invocationContext |
IInvocationContext |
setMetricCollectors
public void setMetricCollectors (collectors)
設定測試執行作業定義的 IMetricCollector
清單。
參數 | |
---|---|
collectors |
|
setMultiDeviceStrategy
public void setMultiDeviceStrategy (ITestSuite.MultiDeviceModuleStrategy strategy)
參數 | |
---|---|
strategy |
ITestSuite.MultiDeviceModuleStrategy |
setPrimaryAbiRun
public void setPrimaryAbiRun (boolean primaryAbiRun)
設定 mPrimaryAbiRun 的值
參數 | |
---|---|
primaryAbiRun |
boolean |
set shouldMakeDynamicModule
public void setShouldMakeDynamicModule (boolean dynamicModule)
進行分散式資料分割時,我們無法讓 ModuleDefinition 共用集區中的測試 否則模組內資料分割將無法運作,因此我們允許停用該功能。
參數 | |
---|---|
dynamicModule |
boolean |
setSystemStatusChecker
public void setSystemStatusChecker (systemCheckers)
從測試設定設置 ISystemStatusChecker
。
參數 | |
---|---|
systemCheckers |
|
setTestLogger
public void setTestLogger (ITestLogger testLogger)
插入 ITestLogger
例項
參數 | |
---|---|
testLogger |
ITestLogger |
分割
publicsplit (Integer shardCountHint, TestInformation testInfo)
split(int)
的替代版本,此版本也提供 TestInformation
,其中包含建立資料分割的父項早期資訊。舉例來說
需要在資料分割期間存取裝置或版本資訊。
參數 | |
---|---|
shardCountHint |
Integer :嘗試的資料分割數量。 |
testInfo |
TestInformation :父項 TestInformation |
傳回 | |
---|---|
|
一組要單獨執行的子測試,如為測試,則傳回 null
目前無法分割 |
保護方法
createModuleListeners
protectedcreateModuleListeners ()
傳回 ModuleListener
適用的 ITestInvocationListener
清單
第二,自訂角色只能
套用至專案或機構每個模組都會重複使用這些事件監聽器,系統不會為這些事件監聽器重新執行個體化
不應假設為內部狀態
傳回 | |
---|---|
|
篩選依據執行者類型
protected boolean filterByRunnerType (IConfiguration config,allowedRunners)
套用執行器許可清單篩選,移除未加入許可清單的所有執行器。如果 設定會有數個執行器,有些可能會移除,設定仍會執行。
參數 | |
---|---|
config |
IConfiguration :要評估的 IConfiguration 。 |
allowedRunners |
:目前的執行器許可清單。 |
傳回 | |
---|---|
boolean |
如果允許設定模組可以執行,則為「true」,否則傳回「false」。 |
getAbisForBuildTargetArch
protectedgetAbisForBuildTargetArch ()
傳回主機建構目標架構支援的 Abis。公開測試。
傳回 | |
---|---|
|
getHostAbis
protectedgetHostAbis ()
傳回主機機器 abi。
傳回 | |
---|---|
|
shouldModuleRun
protected boolean shouldModuleRun (ModuleDefinition module)
參數 | |
---|---|
module |
ModuleDefinition |
傳回 | |
---|---|
boolean |