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 |
BUILD_ATTRIBUTE_FLAG_OVERRIDES_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 傳回可能的 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
|
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
|
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,
套用執行器許可清單篩選,移除未加入許可清單的所有執行器。 |
|
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
BUILD_ATTRIBUTE_FLAG_OVERRIDES_KEY
public static final String BUILD_ATTRIBUTE_FLAG_OVERRIDES_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
RUNNER_WHITELIST
public static final String RUNNER_WHITELIST
SKIP_HOST_ARCH_CHECK
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
mRecoverDeviceByCvd
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 |
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
,如果沒有則傳回 null (當 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 |
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 |
設定 AbiName
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 |
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
清單。這些事件監聽器會用於每個模組,但不會重新例項化,因此不應假設內部狀態。
傳回 | |
---|---|
|
filterByRunnerType
protected boolean filterByRunnerType (IConfiguration config,allowedRunners)
套用執行程式許可清單篩選條件,移除未加入許可清單的執行程式。如果設定包含多個執行者,系統可能會移除其中部分執行者,但設定仍會執行。
參數 | |
---|---|
config |
IConfiguration :要評估的 IConfiguration 。 |
allowedRunners |
:目前的執行程式許可清單。 |
傳回 | |
---|---|
boolean |
如果允許執行設定模組,則傳回「是」;否則傳回「否」。 |
getAbisForBuildTargetArch
protectedgetAbisForBuildTargetArch ()
傳回主機建構目標架構支援的 ABI。已公開供測試。
傳回 | |
---|---|
|
getHostAbis
protectedgetHostAbis ()
傳回主機 abis。
傳回 | |
---|---|
|
shouldModuleRun
protected boolean shouldModuleRun (ModuleDefinition module)
參數 | |
---|---|
module |
ModuleDefinition |
傳回 | |
---|---|
boolean |