ITestsSuite
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 |
用於執行測試套件的抽象類別。這個類別提供套件的執行方式基礎。
每項實作都可以透過 loadTests() 方法定義測試清單。
摘要
常數 | |
|---|---|
String |
ABI_OPTION
|
String |
ACTIVE_MAINLINE_PARAMETER_KEY
|
String |
BUILD_ATTRIBUTE_FLAG_OVERRIDES_KEY
|
String |
ENABLE_RESOLVE_SYM_LINKS
|
String |
MAINLINE_PARAMETER_KEY
|
String |
MODULE_CHECKER_POST
|
String |
MODULE_CHECKER_PRE
|
String |
MODULE_END_TIME
|
String |
MODULE_METADATA_EXCLUDE_FILTER
|
String |
MODULE_METADATA_INCLUDE_FILTER
|
String |
MODULE_START_TIME
|
String |
PARAMETER_KEY
|
String |
PREPARER_WHITELIST
|
String |
PRIMARY_ABI_RUN
|
String |
RANDOM_SEED
|
String |
RUNNER_WHITELIST
|
String |
SKIP_HOST_ARCH_CHECK
|
String |
SKIP_STAGING_ARTIFACTS
|
String |
SKIP_SYSTEM_STATUS_CHECKER
|
String |
STAGE_MODULE_ARTIFACTS
|
String |
TEST_TYPE_KEY
|
String |
TEST_TYPE_VALUE_PERFORMANCE
|
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 傳回可能的 ABI。 |
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
|
isRemoveModuleBuffering()
|
boolean
|
isSplitting()
如果目前處於 |
abstract
|
loadTests()
Abstract method to load the tests configuration that will be run. |
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
|
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
|
setSkipContext(SkipContext skipContext)
|
void
|
setSystemStatusChecker(
從測試的設定中設定 |
void
|
setTestLogger(ITestLogger testLogger)
注入 |
|
split(Integer shardCountHint, TestInformation testInfo)
|
受保護的方法 | |
|---|---|
|
createModuleListeners()
傳回適用於 |
boolean
|
filterByRunnerType(IConfiguration config,
套用 Runner 許可清單篩選條件,移除所有未列入許可清單的 Runner。 |
|
getAbisForBuildTargetArch()
Return the abis supported by the Host build target architecture. |
|
getHostAbis()
Returns the host machine abis. |
void
|
setPrioritizeHostConfig(boolean prioritizeHostConfig)
設定選項 prioritize-host-config。 |
boolean
|
shouldModuleRun(ModuleDefinition module)
|
常數
ABI_OPTION
public static final String ABI_OPTION
常數值: "abi"
ACTIVE_MAINLINE_PARAMETER_KEY
public static final String ACTIVE_MAINLINE_PARAMETER_KEY
常數值: "active-mainline-parameter"
BUILD_ATTRIBUTE_FLAG_OVERRIDES_KEY
public static final String BUILD_ATTRIBUTE_FLAG_OVERRIDES_KEY
常數值: "flag-overrides"
ENABLE_RESOLVE_SYM_LINKS
public static final String ENABLE_RESOLVE_SYM_LINKS
常數值: "enable-resolve-sym-links"
MAINLINE_PARAMETER_KEY
public static final String MAINLINE_PARAMETER_KEY
常數值: "mainline-param"
MODULE_CHECKER_POST
public static final String MODULE_CHECKER_POST
常數值: "PostModuleChecker"
MODULE_CHECKER_PRE
public static final String MODULE_CHECKER_PRE
常數值: "PreModuleChecker"
MODULE_END_TIME
public static final String MODULE_END_TIME
常數值: "MODULE_END_TIME"
MODULE_METADATA_EXCLUDE_FILTER
public static final String MODULE_METADATA_EXCLUDE_FILTER
常數值: "module-metadata-exclude-filter"
MODULE_METADATA_INCLUDE_FILTER
public static final String MODULE_METADATA_INCLUDE_FILTER
常數值: "module-metadata-include-filter"
MODULE_START_TIME
public static final String MODULE_START_TIME
常數值: "MODULE_START_TIME"
PARAMETER_KEY
public static final String PARAMETER_KEY
常數值: "parameter"
PREPARER_WHITELIST
public static final String PREPARER_WHITELIST
常數值: "preparer-whitelist"
PRIMARY_ABI_RUN
public static final String PRIMARY_ABI_RUN
常數值: "primary-abi-only"
RANDOM_SEED
public static final String RANDOM_SEED
常數值: "random-seed"
RUNNER_WHITELIST
public static final String RUNNER_WHITELIST
常數值: "runner-whitelist"
SKIP_HOST_ARCH_CHECK
public static final String SKIP_HOST_ARCH_CHECK
常數值: "skip-host-arch-check"
SKIP_STAGING_ARTIFACTS
public static final String SKIP_STAGING_ARTIFACTS
常數值: "skip-staging-artifacts"
SKIP_SYSTEM_STATUS_CHECKER
public static final String SKIP_SYSTEM_STATUS_CHECKER
常數值: "skip-system-status-check"
STAGE_MODULE_ARTIFACTS
public static final String STAGE_MODULE_ARTIFACTS
常數值: "stage-module-artifacts"
TEST_TYPE_KEY
public static final String TEST_TYPE_KEY
常數值: "test-type"
TEST_TYPE_VALUE_PERFORMANCE
public static final String TEST_TYPE_VALUE_PERFORMANCE
常數值: "performance"
TOKEN_KEY
public static final String TOKEN_KEY
常數值: "token"
欄位
mEnableResolveSymlinks
protected boolean mEnableResolveSymlinks
mRecoverDeviceByCvd
protected boolean mRecoverDeviceByCvd
公用建構函式
ITestsSuite
public ITestSuite ()
公用方法
addModuleMetadataExcludeFilters
public void addModuleMetadataExcludeFilters (MultiMap<String, String> filters)
| 參數 | |
|---|---|
filters |
MultiMap |
addModuleMetadataIncludeFilters
public void addModuleMetadataIncludeFilters (MultiMap<String, String> filters)
| 參數 | |
|---|---|
filters |
MultiMap |
cleanUpSuiteSetup
public void cleanUpSuiteSetup ()
有機會清除套件設定期間所需的所有項目,但執行測試時不需要這些項目。
filterByConfigMetadata
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 傳回可能的 ABI。
| 傳回 | |
|---|---|
|
|
getConfiguration
public final IConfiguration getConfiguration ()
傳回叫用 IConfiguration。
| 傳回 | |
|---|---|
IConfiguration |
|
getDirectModule
public ModuleDefinition getDirectModule ()
傳回要直接執行的 ModuleDefinition,如果尚未執行任何動作 (當 ITestSuite 尚未分片時),則傳回 null。
| 傳回 | |
|---|---|
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 |
|
isRemoveModuleBuffering
public boolean isRemoveModuleBuffering ()
| 傳回 | |
|---|---|
boolean |
|
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:包含執行測試的實用資訊的 TestInformation 物件。 |
listener |
ITestInvocationListener:測試結果的 ITestInvocationListener |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
|
setAbiName
public void setAbiName (String abiName)
設定 mAbiName 的值
| 參數 | |
|---|---|
abiName |
String |
setAbis
public final void setAbis (abis)
| 參數 | |
|---|---|
abis |
|
setCollectTestsOnly
public void setCollectTestsOnly (boolean shouldCollectTest)
以收集器專用模式執行測試套件,這也需要所有子測試實作這個介面。
setConfiguration
public void setConfiguration (IConfiguration configuration)
插入使用的 IConfiguration。
| 參數 | |
|---|---|
configuration |
IConfiguration |
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 |
setShouldMakeDynamicModule
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:嘗試的 Shard 數量。 |
testInfo |
TestInformation:父項 TestInformation |
| 傳回 | |
|---|---|
|
要個別執行的子測試集合,或測試目前無法分片時的 null |
受保護的方法
createModuleListeners
protectedcreateModuleListeners ()
傳回適用於 ModuleListener 層級的 ITestInvocationListener 清單。這些監聽器會重複用於每個模組,不會重新例項化,因此不應假設內部狀態。
| 傳回 | |
|---|---|
|
|
filterByRunnerType
protected boolean filterByRunnerType (IConfiguration config,allowedRunners)
套用 Runner 許可清單篩選條件,移除所有未列入許可清單的 Runner。如果設定有多個執行者,系統可能會移除部分執行者,但設定仍會執行。
| 參數 | |
|---|---|
config |
IConfiguration:要評估的 IConfiguration。 |
allowedRunners |
:目前的執行者許可清單。 |
| 傳回 | |
|---|---|
boolean |
如果允許執行設定模組,則為 True,否則為 False。 |
getAbisForBuildTargetArch
protectedgetAbisForBuildTargetArch ()
傳回主機建構目標架構支援的 ABI。公開測試。
| 傳回 | |
|---|---|
|
|
getHostAbis
protectedgetHostAbis ()
傳回主機的 ABI。
| 傳回 | |
|---|---|
|
|
setPrioritizeHostConfig
protected void setPrioritizeHostConfig (boolean prioritizeHostConfig)
設定優先主機設定選項。
| 參數 | |
|---|---|
prioritizeHostConfig |
boolean:設為 true 可優先處理主機設定,也就是盡可能執行主機測試。 |
shouldModuleRun
protected boolean shouldModuleRun (ModuleDefinition module)
| 參數 | |
|---|---|
module |
ModuleDefinition |
| 傳回 | |
|---|---|
boolean |
|