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


Абстрактный класс, используемый для запуска набора тестов. Этот класс обеспечивает основу для запуска набора тестов. Каждая реализация может определить список тестов с помощью метода 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)

Получает набор ABI, поддерживаемых как тестированием совместимости AbiUtils.getAbisSupportedByCompatibility() , так и тестируемым устройством.

static getAbisForBuildTargetArchFromSuite ()

Возвращает возможный abis из TestSuiteInfo.

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

Возвращает abi, запрошенный с помощью опции -a или --abi.

getRequiredTokens ( TestInformation testInfo)

Возвращает список требуемых токенов по тесту.

long getRuntimeHint ()

Верните ожидаемое время выполнения теста в миллисекундах.

File getTestsDir ()
boolean isRemoveModuleBuffering ()
boolean isSplitting ()

Возвращает true, если мы в данный момент находимся в IShardableTest.split(int) .

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

Задает список IMetricCollector , определенных для тестового запуска.

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

Установите значение mPrimaryAbiRun

void setShouldMakeDynamicModule (boolean dynamicModule)

При распределенном шардинге мы не можем иметь ModuleDefinition, который разделяет тесты в пуле, в противном случае внутримодульное шардинг не будет работать, поэтому мы разрешаем его отключать.

void setSkipContext ( SkipContext skipContext)
void setSystemStatusChecker ( systemCheckers)

Устанавливает ISystemStatusChecker из конфигурации для теста.

void setTestLogger ( ITestLogger testLogger)

Внедряет экземпляр ITestLogger

split (Integer shardCountHint, TestInformation testInfo)

Альтернативная версия split(int) , которая также предоставляет TestInformation , содержащую раннюю информацию от родителя, создающего шарды.

Защищенные методы

createModuleListeners ()

Возвращает список ITestInvocationListener , применимых к уровню ModuleListener .

boolean filterByRunnerType ( IConfiguration config, allowedRunners)

Примените фильтрацию по белому списку участников, удалив всех участников, которые не были занесены в белый список.

getAbisForBuildTargetArch ()

Верните abis, поддерживаемый целевой архитектурой сборки хоста.

getHostAbis ()

Возвращает abis хост-машины.

void setPrioritizeHostConfig (boolean prioritizeHostConfig)

Установите опцию priorityize-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»

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»

КЛЮЧ_ПАРАМЕТРА

public static final String PARAMETER_KEY

Постоянное значение: «параметр»

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»

ПРОПУСК_ПОСТАНОВКИ_АРТИФАКТОВ

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

Постоянное значение: «этап-модуль-артефакты»

TEST_TYPE_KEY

public static final String TEST_TYPE_KEY

Постоянное значение: "test-type"

ТЕСТ_ТИП_ЗНАЧЕНИЕ_ПРОИЗВОДИТЕЛЬНОСТЬ

public static final String TEST_TYPE_VALUE_PERFORMANCE

Постоянное значение: «производительность»

TOKEN_KEY

public static final String TOKEN_KEY

Постоянное значение: «токен»

Поля

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

public  getAbis (ITestDevice device)

Получает набор ABI, поддерживаемых как тестированием совместимости AbiUtils.getAbisSupportedByCompatibility() , так и тестируемым устройством.

Параметры
device ITestDevice

Возврат
Набор ABI для запуска тестов

Броски
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

getAbisForBuildTargetArchFromSuite

public static  getAbisForBuildTargetArchFromSuite ()

Возвращает возможный abis из TestSuiteInfo.

Возврат

получитьBuildInfo

public IBuildInfo getBuildInfo ()

Реализация ITestSuite может потребовать информацию о сборке для загрузки тестов.

Возврат
IBuildInfo

получитьКонфигурацию

public final IConfiguration getConfiguration ()

Возвращает вызов IConfiguration .

Возврат
IConfiguration

получитьCurrentTestLogger

public ITestLogger getCurrentTestLogger ()

Возврат
ITestLogger

получить устройство

public ITestDevice getDevice ()

Проведите тестирование устройства.

Возврат
ITestDevice ITestDevice

getDirectModule

public ModuleDefinition getDirectModule ()

Возвращает ModuleDefinition для непосредственного выполнения или null, если его еще нет (когда ITestSuite еще не был сегментирован).

Возврат
ModuleDefinition

getIntraModuleSharding

public boolean getIntraModuleSharding ()

Возврат
boolean

получитьInvocationContext

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

Возвращает abi, запрошенный с помощью опции -a или --abi.

Возврат
String

получитьRequiredTokens

public  getRequiredTokens (TestInformation testInfo)

Возвращает список необходимых токенов для теста. Возвращает null, если токен не поддерживается.

Параметры
testInfo TestInformation

Возврат

getRuntimeHint

public long getRuntimeHint ()

Возвращает ожидаемое время выполнения теста в миллисекундах. Это время используется для балансировки нагрузки при выполнении шардированных тестов.

Возврат
long

getTestsDir

public File getTestsDir ()

Возврат
File

isRemoveModuleBuffering

public boolean isRemoveModuleBuffering ()

Возврат
boolean

isSplitting

public boolean isSplitting ()

Возвращает true, если мы в данный момент находимся в IShardableTest.split(int) .

Возврат
boolean

loadTests

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

setAbiName

public void setAbiName (String abiName)

Установите значение mAbiName

Параметры
abiName String

setAbis

public final void setAbis ( abis)

Параметры
abis

setBuild

public void setBuild (IBuildInfo buildInfo)

Параметры
buildInfo IBuildInfo

setCollectTestsOnly

public void setCollectTestsOnly (boolean shouldCollectTest)

Запустите тестовый набор в режиме «только сборщик». Для этого необходимо, чтобы все подтесты также реализовали этот интерфейс.

setConfiguration

public void setConfiguration (IConfiguration configuration)

Внедряет используемую IConfiguration .

Параметры
configuration IConfiguration

setDevice

public void setDevice (ITestDevice device)

Введите тестируемое устройство.

Параметры
device ITestDevice : используемое ITestDevice

setDirectModule

public void setDirectModule (ModuleDefinition module)

Параметры
module ModuleDefinition

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

setSkipContext

public void setSkipContext (SkipContext skipContext)

Параметры
skipContext SkipContext

setSystemStatusChecker

public void setSystemStatusChecker ( systemCheckers)

Устанавливает ISystemStatusChecker из конфигурации для теста.

Параметры
systemCheckers

setTestLogger

public void setTestLogger (ITestLogger testLogger)

Внедряет экземпляр ITestLogger

Параметры
testLogger ITestLogger

расколоть

public  split (Integer shardCountHint, 
                TestInformation testInfo)

Альтернативная версия split(int) , которая также предоставляет TestInformation , содержащую раннюю информацию от родительского объекта, создающего шарды. Это полезно, если во время шардинга требуется доступ к таким данным, как информация об устройстве или сборке.

Параметры
shardCountHint Integer : количество попыток осколков.

testInfo TestInformation : Родительская TestInformation

Возврат
набор подтестов, которые будут выполняться отдельно, или null если тест в данный момент не поддается сегментированию

Защищенные методы

createModuleListeners

protected  createModuleListeners ()

Возвращает список слушателей ITestInvocationListener применимых к уровню ModuleListener . Эти слушатели будут повторно использоваться для каждого модуля, они не будут создаваться повторно, поэтому они не должны принимать внутреннее состояние.

Возврат

filterByRunnerType

protected boolean filterByRunnerType (IConfiguration config, 
                 allowedRunners)

Примените фильтрацию по белому списку исполнителей, удалив все исполнители, не внесённые в белый список. Если в конфигурации несколько исполнителей, некоторые из них могут быть удалены, но конфигурация всё равно будет работать.

Параметры
config IConfiguration : оцениваемая IConfiguration .

allowedRunners : Текущий белый список участников.

Возврат
boolean True, если запуск модуля конфигурации разрешен, в противном случае — false.

получитьAbisForBuildTargetArch

protected  getAbisForBuildTargetArch ()

Возвращает abis, поддерживаемый целевой архитектурой сборки хоста. Предоставляется для тестирования.

Возврат

getHostAbis

protected  getHostAbis ()

Возвращает abis хост-машины.

Возврат

setPrioritizeHostConfig

protected void setPrioritizeHostConfig (boolean prioritizeHostConfig)

Установите опцию priorityize-host-config.

Параметры
prioritizeHostConfig boolean : true, чтобы отдать приоритет конфигурации хоста, т. е. запустить проверку хоста, если это возможно.

shouldModuleRun

protected boolean shouldModuleRun (ModuleDefinition module)

Параметры
module ModuleDefinition

Возврат
boolean