測試套件

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)

取得相容性測試AbiUtils.getAbisSupportedByCompatibility()和被測設備支援的 ABI 集。

static getAbisForBuildTargetArchFromSuite ()

從 TestSuiteInfo 傳回可能的 abis。

IBuildInfo getBuildInfo ()

ITestSuite的實作可能需要建置資訊來載入測試。

final IConfiguration getConfiguration ()

返回調用IConfiguration

ITestLogger getCurrentTestLogger ()
ITestDevice getDevice ()

獲取被測設備。

ModuleDefinition getDirectModule ()

傳回要直接執行的ModuleDefinition ,如果還沒有則傳回 null(當 ITestSuite 尚未分片時)。

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 ()

如果我們目前處於IShardableTest.split(int)中,則傳回 true。

abstract loadTests ()

載入將要執行的測試配置的抽象方法。

void reportNotExecuted ( ITestInvocationListener listener, String message)

向提供的主要偵聽器報告未執行的測試。

void reportNotExecuted ( ITestInvocationListener listener)

向提供的主要偵聽器報告未執行的測試。

final void run ( TestInformation testInfo, ITestInvocationListener listener)

loadTests()載入的所有測試的通用運行方法。

void setAbiName (String abiName)

設定 mAbiName 的值

final void setAbis ( abis) setAbis ( abis)
void setBuild ( IBuildInfo buildInfo)

void setCollectTestsOnly (boolean shouldCollectTest)

在僅收集器模式下執行測試套件,這要求所有子測試也實作該介面。

void setConfiguration ( IConfiguration configuration)

注入正在使用的IConfiguration

void setDevice ( ITestDevice device)

注入被測設備。

void setDirectModule ( ModuleDefinition module)
void setIntraModuleSharding (boolean intraModuleSharding)
void setInvocationContext ( IInvocationContext invocationContext)

void setMetricCollectors ( collectors) setMetricCollectors ( collectors)

設定為測試運行定義的IMetricCollector清單。

void setMultiDeviceStrategy ( ITestSuite.MultiDeviceModuleStrategy strategy)
void setPrimaryAbiRun (boolean primaryAbiRun)

設定 mPrimaryAbiRun 的值

void setShouldMakeDynamicModule (boolean dynamicModule)

在進行分散式分片時,我們不能讓 ModuleDefinition 在池中共享測試,否則模組內分片將無法運作,因此我們允許停用它。

void setSystemStatusChecker ( systemCheckers) setSystemStatusChecker ( systemCheckers)

從測試配置設定ISystemStatusChecker

void setTestLogger ( ITestLogger testLogger)

注入ITestLogger實例

split (Integer shardCountHint, TestInformation testInfo)

split(int)的替代版本還提供TestInformation ,其中包含來自創建分片的父級的早期資訊。

受保護的方法

createModuleListeners ()

傳回適用於ModuleListener層級的ITestInvocationListener清單。

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。

取得阿比斯

public  getAbis (ITestDevice device)

取得相容性測試AbiUtils.getAbisSupportedByCompatibility()和被測設備支援的 ABI 集。

參數
device ITestDevice

退貨
用於運行測試的 ABI 集

投擲
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

getAbisForBuildTargetArchFromSuite

public static  getAbisForBuildTargetArchFromSuite ()

從 TestSuiteInfo 傳回可能的 abis。

退貨

獲取建構資訊

public IBuildInfo getBuildInfo ()

ITestSuite的實作可能需要建置資訊來載入測試。

退貨
IBuildInfo

取得配置

public final IConfiguration getConfiguration ()

返回調用IConfiguration

退貨
IConfiguration

取得目前測試記錄器

public ITestLogger getCurrentTestLogger ()

退貨
ITestLogger

取得設備

public ITestDevice getDevice ()

獲取被測設備。

退貨
ITestDevice ITestDevice

取得直接模組

public ModuleDefinition getDirectModule ()

傳回要直接執行的ModuleDefinition ,如果還沒有則傳回 null(當 ITestSuite 尚未分片時)。

退貨
ModuleDefinition

取得模組內分片

public boolean getIntraModuleSharding ()

退貨
boolean

取得呼叫上下文

public IInvocationContext getInvocationContext ()

返回調用上下文。

退貨
IInvocationContext

取得模組元資料包含過濾器

public MultiMap<String, String> getModuleMetadataIncludeFilters ()

退貨
MultiMap <String, String>

取得多設備策略

public ITestSuite.MultiDeviceModuleStrategy getMultiDeviceStrategy ()

退貨
ITestSuite.MultiDeviceModuleStrategy

獲取請求的Abi

public final String getRequestedAbi ()

傳回使用選項 -a 或 --abi 請求的 abi。

退貨
String

取得所需令牌

public  getRequiredTokens (TestInformation testInfo)

傳回測試所需令牌的清單。如果沒有令牌支持,則傳回 null。

參數
testInfo TestInformation

退貨

取得運行時提示

public long getRuntimeHint ()

傳回測試的預期運行時間(以毫秒為單位)。此時間用於負載平衡分片執行

退貨
long

取得測試目錄

public File getTestsDir ()

退貨
File

正在分裂

public boolean isSplitting ()

如果我們目前處於IShardableTest.split(int)中,則傳回 true。

退貨
boolean

負載測試

public abstract  loadTests ()

載入將要執行的測試配置的抽象方法。每個測試均由IConfiguration和報告結果的唯一名稱定義。

退貨

報告未執行

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 TestInformationTestInformation物件包含執行測試的有用資訊。

listener ITestInvocationListener :測試結果的ITestInvocationListener

投擲
DeviceNotAvailableException

設定Abi名稱

public void setAbiName (String abiName)

設定 mAbiName 的值

參數
abiName String

設置Abis

public final void setAbis ( abis)

參數
abis

設定建置

public void setBuild (IBuildInfo buildInfo)

參數
buildInfo IBuildInfo

僅設定收集測試

public void setCollectTestsOnly (boolean shouldCollectTest)

在僅收集器模式下執行測試套件,這要求所有子測試也實作該介面。

設定配置

public void setConfiguration (IConfiguration configuration)

注入正在使用的IConfiguration

參數
configuration IConfiguration

設定設備

public void setDevice (ITestDevice device)

注入被測設備。

參數
device ITestDevice :要使用的ITestDevice

設定直接模組

public void setDirectModule (ModuleDefinition module)

參數
module ModuleDefinition

設定模組內分片

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

設定測試記錄器

public void setTestLogger (ITestLogger testLogger)

注入ITestLogger實例

參數
testLogger ITestLogger

分裂

public  split (Integer shardCountHint, 
                TestInformation testInfo)

split(int)的替代版本還提供TestInformation ,其中包含來自創建分片的父級的早期資訊。如果在分片期間需要存取設備或建置資訊等內容,那麼它非常有用。

參數
shardCountHint Integer :嘗試的分片計數。

testInfo TestInformation :父TestInformation

退貨
要單獨執行的子測試的集合,如果測試目前不可分片,則為null

受保護的方法

建立模組監聽器

protected  createModuleListeners ()

傳回適用於ModuleListener層級的ITestInvocationListener清單。這些偵聽器將被每個模組重複使用,它們不會重新實例化,因此它們不應呈現內部狀態。

退貨

按運行器類型過濾

protected boolean filterByRunnerType (IConfiguration config, 
                 allowedRunners)

應用執行器白名單過濾,刪除任何未列入白名單的執行器。如果配置有多個運行程序,則某些運行程序可能會被刪除,但配置仍將運行。

參數
config IConfiguration :正在評估的IConfiguration

allowedRunners :目前運行者白名單。

退貨
boolean如果允許組態模組運作則為 true,否則為 false。

getAbisForBuildTargetArch

protected  getAbisForBuildTargetArch ()

傳回主機建置目標架構支援的abis。暴露進行測試。

退貨

取得主機Abis

protected  getHostAbis ()

返回主機 abis。

退貨

應該模組運行

protected boolean shouldModuleRun (ModuleDefinition module)

參數
module ModuleDefinition

退貨
boolean