測試套件

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)

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

static getAbisForBuildTargetArchFromSuite ()

從 TestSuiteInfo 傳回可能的 abis。

IBuildInfo getBuildInfo ()

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

final IConfiguration getConfiguration ()

返回調用IConfiguration

ITestLogger getCurrentTestLogger ()
ITestDevice getDevice ()

獲取被測設備。

ModuleDefinition getDirectModule ()

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

IInvocationContext getInvocationContext ()

返回調用上下文。

final String getRequestedAbi ()

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

getRequiredTokens ()
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 setInvocationContext (IInvocationContext invocationContext)

void setInvocationInjector (Injector injector)

從呼叫中取得目前的 Guice Injector

void setMetricCollectors ( collectors) setMetricCollectors ( collectors)

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

void setPrimaryAbiRun (boolean primaryAbiRun)

設定 mPrimaryAbiRun 的值

void setShouldMakeDynamicModule (boolean dynamicModule)

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

void setSystemStatusChecker ( systemCheckers) setSystemStatusChecker ( systemCheckers)

從測試配置設定ISystemStatusChecker

void setTestLogger (ITestLogger testLogger)

split (Integer shardCountHint, TestInformation testInfo)

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

受保護的方法

createModuleListeners ()

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

boolean filterByConfigMetadata ( IConfiguration config, MultiMap<String, String> include, MultiMap<String, String> exclude)

將元資料過濾器應用於配置並查看配置是否應該運行。

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_METADATA_EXCLUDE_FILTER

public static final String MODULE_METADATA_EXCLUDE_FILTER

MODULE_METADATA_INCLUDE_FILTER

public static final String MODULE_METADATA_INCLUDE_FILTER

參數鍵

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

測試前重新啟動

public static final String REBOOT_BEFORE_TEST

RUNNER_白名單

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

公共構造函數

測試套件

public ITestSuite ()

公共方法

新增模組元資料排除過濾器

public void addModuleMetadataExcludeFilters (MultiMap<String, String> filters)

參數
filters MultiMap

新增模組元資料包含過濾器

public void addModuleMetadataIncludeFilters (MultiMap<String, String> filters)

參數
filters MultiMap

測試前啟用重啟

public final void enableRebootBeforeTest ()

將reboot-before-test 設為true。

取得阿比斯

public  getAbis (ITestDevice device)

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

參數
device ITestDevice

退貨
用於運行測試的 ABI 集

投擲
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 IInvocationContext getInvocationContext ()

返回調用上下文。

退貨
IInvocationContext

獲取請求的Abi

public final String getRequestedAbi ()

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

退貨
String

取得所需令牌

public  getRequiredTokens ()

退貨

取得運行時提示

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 TestInformation

listener 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 setInvocationContext (IInvocationContext invocationContext)

參數
invocationContext IInvocationContext

設定呼叫注入器

public void setInvocationInjector (Injector injector)

從呼叫中取得目前的 Guice Injector 。它應該允許我們繼續模組的物件注入。

參數
injector Injector

設定MetricCollectors

public void setMetricCollectors ( collectors)

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

參數
collectors

設定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)

參數
testLogger ITestLogger

分裂

public  split (Integer shardCountHint, 
                TestInformation testInfo)

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

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

testInfo TestInformation :父TestInformation

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

受保護的方法

建立模組監聽器

protected  createModuleListeners ()

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

退貨

按配置元資料過濾

protected boolean filterByConfigMetadata (IConfiguration config, 
                MultiMap<String, String> include, 
                MultiMap<String, String> exclude)

將元資料過濾器應用於配置並查看配置是否應該運行。

參數
config IConfiguration :正在評估的IConfiguration

include MultiMap :元資料包括過濾器

exclude MultiMap :元資料排除過濾器

退貨
boolean如果模組應該運作則為 true,否則為 false。

按運行器類型過濾

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