測試套件

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 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)
getAbis ( ITestDevice device)

獲取兼容性測試AbiUtils.getAbisSupportedByCompatibility()和被測設備所支持的 ABI 集。

static getAbisForBuildTargetArchFromSuite ()

從 TestSuiteInfo 返回可能的 abis。

IBuildInfo getBuildInfo ()

ITestSuite的實現可能需要構建信息來加載測試。

final IConfiguration getConfiguration ()

返回調用IConfiguration

ITestLogger getCurrentTestLogger ()
ITestDevice getDevice ()

獲取待測設備。

ModuleDefinition getDirectModule ()

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

IInvocationContext getInvocationContext ()

返回調用上下文。

MultiMap <String, String> getModuleMetadataIncludeFilters ()
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 setInvocationContext ( IInvocationContext invocationContext)

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)

注入ITestLogger實例

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)

應用 Runner 白名單過濾,刪除任何未列入白名單的 runner。

getAbisForBuildTargetArch ()

返回主機構建目標體系結構支持的 abis。

getHostAbis ()

返回主機 abis。

void setMultiDeviceStrategy ( ITestSuite.MultiDeviceModuleStrategy strategy)
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

主要_ABI_RUN

public static final String PRIMARY_ABI_RUN

隨機種子

public static final String RANDOM_SEED

跑步者_白名單

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

獲取Abis

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 ,如果還沒有(當 ITestSuite 尚未分片時)則返回 null。

退貨
ModuleDefinition

獲取調用上下文

public IInvocationContext getInvocationContext ()

返回調用上下文。

退貨
IInvocationContext

getModuleMetadataIncludeFilters

public MultiMap<String, String> getModuleMetadataIncludeFilters ()

退貨
MultiMap <String, String>

獲取請求的Abi

public final String getRequestedAbi ()

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

退貨
String

getRequiredTokens

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 TestInformation :包含運行測試的有用信息的TestInformation對象。

listener ITestInvocationListener : 測試結果的ITestInvocationListener

投擲
DeviceNotAvailableException

設置AbiName

public void setAbiName (String abiName)

設置 mAbiName 的值

參數
abiName String

setAbis

public final void setAbis ( abis)

參數
abis

設置構建

public void setBuild (IBuildInfo buildInfo)

參數
buildInfo IBuildInfo

setCollectTestsOnly

public void setCollectTestsOnly (boolean shouldCollectTest)

在僅收集器模式下運行測試套件,這需要所有子測試也實現此接口。

設置配置

public void setConfiguration (IConfiguration configuration)

注入正在使用的IConfiguration

參數
configuration IConfiguration

設置設備

public void setDevice (ITestDevice device)

注入被測設備。

參數
device ITestDevice :要使用的ITestDevice

設置DirectModule

public void setDirectModule (ModuleDefinition module)

參數
module ModuleDefinition

設置調用上下文

public void setInvocationContext (IInvocationContext invocationContext)

參數
invocationContext IInvocationContext

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

設置系統狀態檢查器

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 filterByConfigMetadata (IConfiguration config, 
                MultiMap<String, String> include, 
                MultiMap<String, String> exclude)

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

參數
config IConfiguration :正在評估的IConfiguration

include MultiMap :元數據包含過濾器

exclude MultiMap :元數據排除過濾器

退貨
boolean如果模塊應該運行則為真,否則為假。

按跑者類型過濾

protected boolean filterByRunnerType (IConfiguration config, 
                 allowedRunners)

應用 Runner 白名單過濾,刪除任何未列入白名單的 runner。如果配置有多個運行器,則可能會刪除一些運行器,但配置仍會運行。

參數
config IConfiguration :正在評估的IConfiguration

allowedRunners : 當前運行者白名單。

退貨
boolean如果允許配置模塊運行,則為真,否則為假。

獲取AbisForBuildTargetArch

protected  getAbisForBuildTargetArch ()

返回主機構建目標體系結構支持的 abis。暴露測試。

退貨

getHostAbis

protected  getHostAbis ()

返回主機 abis。

退貨

設置多設備策略

protected void setMultiDeviceStrategy (ITestSuite.MultiDeviceModuleStrategy strategy)

參數
strategy ITestSuite.MultiDeviceModuleStrategy

應該模塊運行

protected boolean shouldModuleRun (ModuleDefinition module)

參數
module ModuleDefinition

退貨
boolean