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()
將 reboot-before-test 設為 true。 |
|
getAbis(ITestDevice device)
取得相容性測試 |
static
|
getAbisForBuildTargetArchFromSuite()
從 TestSuiteInfo 傳回可能的 ABI。 |
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 的值 |
final
void
|
setAbis(
|
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(
設定為測試執行作業定義的 |
void
|
setPrimaryAbiRun(boolean primaryAbiRun)
設定 mPrimaryAbiRun 的值 |
void
|
setShouldMakeDynamicModule(boolean dynamicModule)
進行分散式區隔時,我們無法讓 ModuleDefinition 在集區中共用測試,否則模組內區隔功能將無法運作,因此我們允許停用該功能。 |
void
|
setSystemStatusChecker(
從測試的設定中設定 |
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,
套用執行緒許可清單篩選條件,移除未加入許可清單的執行緒。 |
|
getAbisForBuildTargetArch()
傳回主機建構目標架構支援的 ABI。 |
|
getHostAbis()
傳回主機 abis。 |
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
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 ()
將 reboot-before-test 設為 true。
getAbis
publicgetAbis (ITestDevice device)
取得相容性測試 AbiUtils.getAbisSupportedByCompatibility()
和測試中的裝置皆支援的 ABI 集合。
參數 | |
---|---|
device |
ITestDevice |
傳回 | |
---|---|
|
要執行測試的 ABI 組合 |
擲回 | |
---|---|
DeviceNotAvailableException |
getAbisForBuildTargetArchFromSuite
public staticgetAbisForBuildTargetArchFromSuite ()
從 TestSuiteInfo 傳回可能的 ABI。
傳回 | |
---|---|
|
getConfiguration
public final IConfiguration getConfiguration ()
傳回叫用 IConfiguration
。
傳回 | |
---|---|
IConfiguration |
getCurrentTestLogger
public ITestLogger getCurrentTestLogger ()
傳回 | |
---|---|
ITestLogger |
getDirectModule
public ModuleDefinition getDirectModule ()
傳回要直接執行的 ModuleDefinition
,如果尚未執行 (當 ITestSuite 尚未分割時),則傳回 null。
傳回 | |
---|---|
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 |
setAbis
public final void setAbis (abis)
參數 | |
---|---|
abis |
|
setBuild
public void setBuild (IBuildInfo buildInfo)
參數 | |
---|---|
buildInfo |
IBuildInfo |
setCollectTestsOnly
public void setCollectTestsOnly (boolean shouldCollectTest)
在收集器專用模式下執行測試套件,這需要所有子測試也實作此介面。
setConfiguration
public void setConfiguration (IConfiguration configuration)
插入正在使用的 IConfiguration
。
參數 | |
---|---|
configuration |
IConfiguration |
setDevice
public void setDevice (ITestDevice device)
插入測試中的裝置。
參數 | |
---|---|
device |
ITestDevice :要使用的 ITestDevice |
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 |
如果模組應執行,則傳回「是」;否則傳回「否」。 |
filterByRunnerType
protected boolean filterByRunnerType (IConfiguration config,allowedRunners)
套用「Runner」許可清單篩選條件,移除未加入許可清單的任何 runner。如果設定包含多個執行者,系統可能會移除其中部分執行者,但設定仍會執行。
參數 | |
---|---|
config |
IConfiguration :要評估的 IConfiguration 。 |
allowedRunners |
:目前的執行器許可清單。 |
傳回 | |
---|---|
boolean |
如果允許執行設定模組,則傳回「是」;否則傳回「否」。 |
getAbisForBuildTargetArch
protectedgetAbisForBuildTargetArch ()
傳回主機建構目標架構支援的 ABI。已公開供測試。
傳回 | |
---|---|
|
getHostAbis
protectedgetHostAbis ()
傳回主機 abis。
傳回 | |
---|---|
|
shouldModuleRun
protected boolean shouldModuleRun (ModuleDefinition module)
參數 | |
---|---|
module |
ModuleDefinition |
傳回 | |
---|---|
boolean |