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


Classe abstrata usada para executar o pacote de teste. Essa classe fornece a base de como o pacote será executado. Cada implementação pode definir a lista de testes usando o método loadTests().

Resumo

Constantes

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

Campos

protected boolean mEnableResolveSymlinks

protected boolean mRecoverDeviceByCvd

Construtores públicos

ITestSuite()

Métodos públicos

void addModuleMetadataExcludeFilters(MultiMap<String, String> filters)
void addModuleMetadataIncludeFilters(MultiMap<String, String> filters)
void cleanUpSuiteSetup()

Oportunidade de limpar tudo o que era necessário durante a configuração dos conjuntos, mas não é necessário para executar os testes.

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

Aplique o filtro de metadados à configuração e verifique se ela precisa ser executada.

getAbis(ITestDevice device)

Recebe o conjunto de ABIs compatíveis com o teste de compatibilidade AbiUtils.getAbisSupportedByCompatibility() e o dispositivo em teste.

static getAbisForBuildTargetArchFromSuite()

Retorna as ABIs possíveis do TestSuiteInfo.

IBuildInfo getBuildInfo()

A implementação de ITestSuite pode exigir que as informações do build carreguem os testes.

final IConfiguration getConfiguration()

Retorna a invocação IConfiguration.

ITestLogger getCurrentTestLogger()
ITestDevice getDevice()

Pegue o dispositivo em teste.

ModuleDefinition getDirectModule()

Retorna o ModuleDefinition a ser executado diretamente ou nulo se ainda não houver nenhum (quando o ITestSuite ainda não foi fragmentado).

boolean getIntraModuleSharding()
IInvocationContext getInvocationContext()

Retorna o contexto de invocação.

MultiMap<String, String> getModuleMetadataIncludeFilters()
ITestSuite.MultiDeviceModuleStrategy getMultiDeviceStrategy()
final String getRequestedAbi()

Retorna a ABI solicitada com a opção -a ou --abi.

getRequiredTokens(TestInformation testInfo)

Retorna a lista de tokens obrigatórios pelo teste.

long getRuntimeHint()

Retorna o tempo de execução esperado do teste em milissegundos.

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

Retorna "true" se estivermos em IShardableTest.split(int).

abstract loadTests()

Método abstrato para carregar a configuração dos testes que serão executados.

void reportNotExecuted(ITestInvocationListener listener, String message)

Informar os testes não executados ao listener principal fornecido.

void reportNotExecuted(ITestInvocationListener listener)

Informar os testes não executados ao listener principal fornecido.

final void run(TestInformation testInfo, ITestInvocationListener listener)

Método de execução genérico para todos os testes carregados de loadTests().

void setAbiName(String abiName)

Defina o valor de mAbiName

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

void setCollectTestsOnly(boolean shouldCollectTest)

Execute o conjunto de testes somente no modo de coleta. Isso exige que todos os subtestes também implementem essa interface.

void setConfiguration(IConfiguration configuration)

Injeta o IConfiguration em uso.

void setDevice(ITestDevice device)

Injete o dispositivo em teste.

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

void setMetricCollectors( collectors)

Define a lista de IMetricCollectors definidos para a execução do teste.

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

Defina o valor de mPrimaryAbiRun

void setShouldMakeDynamicModule(boolean dynamicModule)

Ao fazer o sharding distribuído, não podemos ter ModuleDefinition que compartilhe testes em um pool. Caso contrário, o sharding intra-módulo não vai funcionar. Por isso, permitimos desativá-lo.

void setSkipContext(SkipContext skipContext)
void setSystemStatusChecker( systemCheckers)

Define os ISystemStatusCheckers da configuração para o teste.

void setTestLogger(ITestLogger testLogger)

Injeta a instância ITestLogger.

split(Integer shardCountHint, TestInformation testInfo)

Versão alternativa de split(int) que também fornece um TestInformation que contém informações iniciais do pai que cria os fragmentos.

Métodos protegidos

createModuleListeners()

Retorna a lista de ITestInvocationListener aplicáveis ao nível ModuleListener.

boolean filterByRunnerType(IConfiguration config, allowedRunners)

Aplique a filtragem da lista de permissões do Runner, removendo qualquer runner que não esteja na lista.

getAbisForBuildTargetArch()

Retorna as ABIs compatíveis com a arquitetura de destino da build do host.

getHostAbis()

Retorna as ABIs da máquina host.

void setPrioritizeHostConfig(boolean prioritizeHostConfig)

Defina a opção "prioritize-host-config".

boolean shouldModuleRun(ModuleDefinition module)

Constantes

ABI_OPTION

public static final String ABI_OPTION

Valor da constante: "abi"

ACTIVE_MAINLINE_PARAMETER_KEY

public static final String ACTIVE_MAINLINE_PARAMETER_KEY

Valor da constante: "active-mainline-parameter"

BUILD_ATTRIBUTE_FLAG_OVERRIDES_KEY

public static final String BUILD_ATTRIBUTE_FLAG_OVERRIDES_KEY

Valor da constante: "flag-overrides"

public static final String ENABLE_RESOLVE_SYM_LINKS

Valor da constante: "enable-resolve-sym-links"

MAINLINE_PARAMETER_KEY

public static final String MAINLINE_PARAMETER_KEY

Valor da constante: "mainline-param"

MODULE_CHECKER_POST

public static final String MODULE_CHECKER_POST

Valor da constante: "PostModuleChecker"

MODULE_CHECKER_PRE

public static final String MODULE_CHECKER_PRE

Valor da constante: "PreModuleChecker"

MODULE_END_TIME

public static final String MODULE_END_TIME

Valor da constante: "MODULE_END_TIME"

MODULE_METADATA_EXCLUDE_FILTER

public static final String MODULE_METADATA_EXCLUDE_FILTER

Valor da constante: "module-metadata-exclude-filter"

MODULE_METADATA_INCLUDE_FILTER

public static final String MODULE_METADATA_INCLUDE_FILTER

Valor da constante: "module-metadata-include-filter"

MODULE_START_TIME

public static final String MODULE_START_TIME

Valor da constante: "MODULE_START_TIME"

PARAMETER_KEY

public static final String PARAMETER_KEY

Valor da constante: "parameter"

PREPARER_WHITELIST

public static final String PREPARER_WHITELIST

Valor da constante: "preparer-whitelist"

PRIMARY_ABI_RUN

public static final String PRIMARY_ABI_RUN

Valor da constante: "primary-abi-only"

RANDOM_SEED

public static final String RANDOM_SEED

Valor da constante: "random-seed"

RUNNER_WHITELIST

public static final String RUNNER_WHITELIST

Valor da constante: "runner-whitelist"

SKIP_HOST_ARCH_CHECK

public static final String SKIP_HOST_ARCH_CHECK

Valor da constante: "skip-host-arch-check"

SKIP_STAGING_ARTIFACTS

public static final String SKIP_STAGING_ARTIFACTS

Valor da constante: "skip-staging-artifacts"

SKIP_SYSTEM_STATUS_CHECKER

public static final String SKIP_SYSTEM_STATUS_CHECKER

Valor da constante: "skip-system-status-check"

STAGE_MODULE_ARTIFACTS

public static final String STAGE_MODULE_ARTIFACTS

Valor da constante: "stage-module-artifacts"

TEST_TYPE_KEY

public static final String TEST_TYPE_KEY

Valor da constante: "test-type"

TEST_TYPE_VALUE_PERFORMANCE

public static final String TEST_TYPE_VALUE_PERFORMANCE

Valor da constante: "performance"

TOKEN_KEY

public static final String TOKEN_KEY

Valor da constante: "token"

Campos

protected boolean mEnableResolveSymlinks

mRecoverDeviceByCvd

protected boolean mRecoverDeviceByCvd

Construtores públicos

ITestSuite

public ITestSuite ()

Métodos públicos

addModuleMetadataExcludeFilters

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

Parâmetros
filters MultiMap

addModuleMetadataIncludeFilters

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

Parâmetros
filters MultiMap

cleanUpSuiteSetup

public void cleanUpSuiteSetup ()

Oportunidade de limpar tudo o que era necessário durante a configuração dos conjuntos, mas não é necessário para executar os testes.

filterByConfigMetadata

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

Aplique o filtro de metadados à configuração e verifique se ela precisa ser executada.

Parâmetros
config IConfiguration: o IConfiguration que está sendo avaliado.

include MultiMap: o filtro de inclusão de metadados

exclude MultiMap: o filtro de exclusão de metadados

Retorna
boolean True se o módulo precisar ser executado. Caso contrário, é false.

getAbis

public  getAbis (ITestDevice device)

Recebe o conjunto de ABIs compatíveis com o teste de compatibilidade AbiUtils.getAbisSupportedByCompatibility() e o dispositivo em teste.

Parâmetros
device ITestDevice

Retorna
O conjunto de ABIs em que os testes serão executados.

Gera
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

getAbisForBuildTargetArchFromSuite

public static  getAbisForBuildTargetArchFromSuite ()

Retorna as ABIs possíveis do TestSuiteInfo.

Retorna

getBuildInfo

public IBuildInfo getBuildInfo ()

A implementação de ITestSuite pode exigir que as informações do build carreguem os testes.

Retorna
IBuildInfo

getConfiguration

public final IConfiguration getConfiguration ()

Retorna a invocação IConfiguration.

Retorna
IConfiguration

getCurrentTestLogger

public ITestLogger getCurrentTestLogger ()

Retorna
ITestLogger

getDevice

public ITestDevice getDevice ()

Pegue o dispositivo em teste.

Retorna
ITestDevice o ITestDevice

getDirectModule

public ModuleDefinition getDirectModule ()

Retorna o ModuleDefinition a ser executado diretamente ou nulo se ainda não houver nenhum (quando o ITestSuite ainda não foi fragmentado).

Retorna
ModuleDefinition

getIntraModuleSharding

public boolean getIntraModuleSharding ()

Retorna
boolean

getInvocationContext

public IInvocationContext getInvocationContext ()

Retorna o contexto de invocação.

Retorna
IInvocationContext

getModuleMetadataIncludeFilters

public MultiMap<String, String> getModuleMetadataIncludeFilters ()

Retorna
MultiMap<String, String>

getMultiDeviceStrategy

public ITestSuite.MultiDeviceModuleStrategy getMultiDeviceStrategy ()

Retorna
ITestSuite.MultiDeviceModuleStrategy

getRequestedAbi

public final String getRequestedAbi ()

Retorna a ABI solicitada com a opção -a ou --abi.

Retorna
String

getRequiredTokens

public  getRequiredTokens (TestInformation testInfo)

Retorna a lista de tokens obrigatórios pelo teste. Retorna nulo se não houver suporte para token.

Parâmetros
testInfo TestInformation

Retorna

getRuntimeHint

public long getRuntimeHint ()

Retorna o tempo de execução esperado do teste em milissegundos. O tempo é usado para balancear a carga da execução fragmentada.

Retorna
long

getTestsDir

public File getTestsDir ()

Retorna
File

isRemoveModuleBuffering

public boolean isRemoveModuleBuffering ()

Retorna
boolean

isSplitting

public boolean isSplitting ()

Retorna "true" se estivermos em IShardableTest.split(int).

Retorna
boolean

loadTests

public abstract  loadTests ()

Método abstrato para carregar a configuração dos testes que serão executados. Cada teste é definido por um IConfiguration e um nome exclusivo em que os resultados serão informados.

Retorna

reportNotExecuted

public void reportNotExecuted (ITestInvocationListener listener, 
                String message)

Informar os testes não executados ao listener principal fornecido. Eles devem ser informados como falha com a mensagem NOT_EXECUTED_FAILURE.

Parâmetros
listener ITestInvocationListener: o listener principal onde os resultados não executados são informados.

message String: a mensagem a ser associada à falha não executada.

reportNotExecuted

public void reportNotExecuted (ITestInvocationListener listener)

Informar os testes não executados ao listener principal fornecido. Eles devem ser informados como falha com a mensagem NOT_EXECUTED_FAILURE.

Parâmetros
listener ITestInvocationListener: o listener principal onde os resultados não executados são informados.

run

public final void run (TestInformation testInfo, 
                ITestInvocationListener listener)

Método de execução genérico para todos os testes carregados de loadTests().

Parâmetros
testInfo TestInformation: o objeto TestInformation que contém informações úteis para executar testes.

listener ITestInvocationListener: o ITestInvocationListener dos resultados do teste

Gera
DeviceNotAvailableException

setAbiName

public void setAbiName (String abiName)

Defina o valor de mAbiName

Parâmetros
abiName String

setAbis

public final void setAbis ( abis)

Parâmetros
abis

setBuild

public void setBuild (IBuildInfo buildInfo)

Parâmetros
buildInfo IBuildInfo

setCollectTestsOnly

public void setCollectTestsOnly (boolean shouldCollectTest)

Execute o conjunto de testes somente no modo de coleta. Isso exige que todos os subtestes também implementem essa interface.

setConfiguration

public void setConfiguration (IConfiguration configuration)

Injeta o IConfiguration em uso.

Parâmetros
configuration IConfiguration

setDevice

public void setDevice (ITestDevice device)

Injete o dispositivo em teste.

Parâmetros
device ITestDevice: o ITestDevice a ser usado

setDirectModule

public void setDirectModule (ModuleDefinition module)

Parâmetros
module ModuleDefinition

setIntraModuleSharding

public void setIntraModuleSharding (boolean intraModuleSharding)

Parâmetros
intraModuleSharding boolean

setInvocationContext

public void setInvocationContext (IInvocationContext invocationContext)

Parâmetros
invocationContext IInvocationContext

setMetricCollectors

public void setMetricCollectors ( collectors)

Define a lista de IMetricCollectors definidos para a execução do teste.

Parâmetros
collectors

setMultiDeviceStrategy

public void setMultiDeviceStrategy (ITestSuite.MultiDeviceModuleStrategy strategy)

Parâmetros
strategy ITestSuite.MultiDeviceModuleStrategy

setPrimaryAbiRun

public void setPrimaryAbiRun (boolean primaryAbiRun)

Defina o valor de mPrimaryAbiRun

Parâmetros
primaryAbiRun boolean

setShouldMakeDynamicModule

public void setShouldMakeDynamicModule (boolean dynamicModule)

Ao fazer o sharding distribuído, não podemos ter ModuleDefinition que compartilhe testes em um pool. Caso contrário, o sharding intra-módulo não vai funcionar. Por isso, permitimos desativá-lo.

Parâmetros
dynamicModule boolean

setSkipContext

public void setSkipContext (SkipContext skipContext)

Parâmetros
skipContext SkipContext

setSystemStatusChecker

public void setSystemStatusChecker ( systemCheckers)

Define os ISystemStatusCheckers da configuração para o teste.

Parâmetros
systemCheckers

setTestLogger

public void setTestLogger (ITestLogger testLogger)

Injeta a instância ITestLogger.

Parâmetros
testLogger ITestLogger

dividido

public  split (Integer shardCountHint, 
                TestInformation testInfo)

Versão alternativa de split(int) que também fornece um TestInformation que contém informações iniciais do pai que cria os fragmentos. Isso é útil se informações como dispositivo ou build precisarem ser acessadas durante o sharding.

Parâmetros
shardCountHint Integer: a contagem de fragmentos tentada.

testInfo TestInformation: o TestInformation principal

Retorna
uma coleção de subtestes a serem executados separadamente ou null se o teste não puder ser fragmentado no momento.

Métodos protegidos

createModuleListeners

protected  createModuleListeners ()

Retorna a lista de ITestInvocationListener aplicáveis ao nível ModuleListener. Esses listeners serão reutilizados para cada módulo e não serão reinicializados. Portanto, eles não devem presumir um estado interno.

Retorna

filterByRunnerType

protected boolean filterByRunnerType (IConfiguration config, 
                 allowedRunners)

Aplique a filtragem da lista de permissões do Runner, removendo qualquer runner que não esteja na lista. Se uma configuração tiver vários executores, alguns poderão ser removidos, mas a configuração ainda será executada.

Parâmetros
config IConfiguration: o IConfiguration que está sendo avaliado.

allowedRunners : a lista de permissões do executor atual.

Retorna
boolean True se o módulo de configuração puder ser executado. Caso contrário, será false.

getAbisForBuildTargetArch

protected  getAbisForBuildTargetArch ()

Retorna as ABIs compatíveis com a arquitetura de destino de build do host. Exposto para testes.

Retorna

getHostAbis

protected  getHostAbis ()

Retorna as ABIs da máquina host.

Retorna

setPrioritizeHostConfig

protected void setPrioritizeHostConfig (boolean prioritizeHostConfig)

Defina a opção "prioritize-host-config".

Parâmetros
prioritizeHostConfig boolean: "true" para priorizar a configuração do host, ou seja, executar o teste do host, se possível.

shouldModuleRun

protected boolean shouldModuleRun (ModuleDefinition module)

Parâmetros
module ModuleDefinition

Retorna
boolean