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 testes. Essa classe fornece a base de como o Suite será executado. Cada implementação pode definir a lista de testes pelo método loadTests().

Resumo

Campos

public static final String ABI_OPTION

public static final String ACTIVE_MAINLINE_PARAMETER_KEY

public static final String BUILD_ATTRIBUTE_FLAG_OVERRIDES_KEY

public static final String ENABLE_RESOLVE_SYM_LINKS

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 STAGE_MODULE_ARTIFACTS

public static final String TEST_TYPE_KEY

public static final String TEST_TYPE_VALUE_PERFORMANCE

public static final String TOKEN_KEY

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 foi 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 é executada.

getAbis(ITestDevice device)

Extrai o conjunto de ABIs aceito pelo AbiUtils.getAbisSupportedByCompatibility() de teste de compatibilidade e pelo dispositivo em teste.

static getAbisForBuildTargetArchFromSuite()

Retorna os possíveis abis 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 tiver sido dividido).

boolean getIntraModuleSharding()
IInvocationContext getInvocationContext()

Retorna o contexto da 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 necessários para o teste.

long getRuntimeHint()

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

File getTestsDir()
boolean isSplitting()

Retorna verdadeiro se estivermos no 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)

Definir o valor de mAbiName

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

void setCollectTestsOnly(boolean shouldCollectTest)

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

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 uma 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ável 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 tenha sido incluído na lista.

getAbisForBuildTargetArch()

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

getHostAbis()

Retorna as abis da máquina host.

boolean shouldModuleRun(ModuleDefinition module)

Campos

ABI_OPTION

public static final String ABI_OPTION

ACTIVE_MAINLINE_PARAMETER_KEY

public static final String ACTIVE_MAINLINE_PARAMETER_KEY

BUILD_ATTRIBUTE_FLAG_OVERRIDES_KEY

public static final String BUILD_ATTRIBUTE_FLAG_OVERRIDES_KEY

public static final String ENABLE_RESOLVE_SYM_LINKS

MAINLINE_PARAMETER_KEY

public static final String MAINLINE_PARAMETER_KEY

MODULE_CHECKER_POST

public static final String MODULE_CHECKER_POST

MÓDULO_VERIFICADOR_PRE

public static final String MODULE_CHECKER_PRE

MÓDULO_END_TIME

public static final String MODULE_END_TIME

FILTRO_DE_METADADOS_MÓDULO

public static final String MODULE_METADATA_EXCLUDE_FILTER

MODULE_METADATA_INCLUDE_FILTER

public static final String MODULE_METADATA_INCLUDE_FILTER

MÓDULO_INÍCIO_DE_HORA

public static final String MODULE_START_TIME

PARAMETER_KEY

public static final String PARAMETER_KEY

PREPARER_WHITELIST

public static final String PREPARER_WHITELIST

PRIMARY_ABI_RUN

public static final String PRIMARY_ABI_RUN

RANDOM_SEED

public static final String RANDOM_SEED

RUNNER_WHITELIST

public static final String RUNNER_WHITELIST

PULAR_HOST_ARCH_CHECK

public static final String SKIP_HOST_ARCH_CHECK

PULAR_ARTEFATOS_DE_STAGING

public static final String SKIP_STAGING_ARTIFACTS

SKIP_SYSTEM_STATUS_CHECKER

public static final String SKIP_SYSTEM_STATUS_CHECKER

STAGE_MODULE_ARTIFACTS

public static final String STAGE_MODULE_ARTIFACTS

TEST_TYPE_KEY

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

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

Limpar Suite

public void cleanUpSuiteSetup ()

Oportunidade de limpar tudo o que foi necessário durante a configuração dos conjuntos, mas que 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 é 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 Verdadeiro se o módulo precisar ser executado. Caso contrário, será falso.

getAbis

public  getAbis (ITestDevice device)

Recebe o conjunto de ABIs compatíveis com o teste de compatibilidade da AbiUtils.getAbisSupportedByCompatibility() e do 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 os possíveis abis 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 ()

Colocar 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 tiver sido dividido).

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 necessários para o teste. Retorna nulo se não houver suporte a tokens.

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 execução fragmentada

Retorna
long

getTestsDir

public File getTestsDir ()

Retorna
File

Divisão

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 de testes que será executada. 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. Elas precisam ser informadas como falha com a mensagem NOT_EXECUTED_FAILURE.

Parâmetros
listener ITestInvocationListener: o listener principal para informar os resultados não executados.

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. Elas precisam ser informadas como falha com a mensagem NOT_EXECUTED_FAILURE.

Parâmetros
listener ITestInvocationListener: o listener principal para informar os resultados não executados.

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)

Definir 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 no modo somente coletor. Isso exige que todos os subtestes implementem essa interface também.

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)

Definir o valor de mPrimaryAbiRun

Parâmetros
primaryAbiRun boolean

setShouldMakeDynamicModule

public void setShouldMakeDynamicModule (boolean dynamicModule)

Ao fazer o sharding distribuído, não podemos ter uma 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

dividir

public  split (Integer shardCountHint, 
                TestInformation testInfo)

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

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

testInfo TestInformation: o TestInformation pai

Retorna
uma coleção de subtestes a serem executados separadamente ou null se o teste não for fragmentável no momento

Métodos protegidos

createModuleListeners

protected  createModuleListeners ()

Retorna a lista de ITestInvocationListener aplicável ao nível ModuleListener. Esses listeners serão reutilizados para cada módulo, não vão ser reinstanciados, então não podem assumir 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 tenha sido incluído na lista. Se uma configuração tiver vários runners, alguns poderão ser removidos e a configuração ainda será executada.

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

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

Retorna
boolean Verdadeiro se o módulo de configuração tiver permissão para ser executado. Caso contrário, será falso.

getAbisForBuildTargetArch

protected  getAbisForBuildTargetArch ()

Retorna o abis compatível com a arquitetura de destino de build do host. Exposto para testes.

Retorna

getHostAbis

protected  getHostAbis ()

Retorna as abis da máquina host.

Retorna

shouldModuleRun

protected boolean shouldModuleRun (ModuleDefinition module)

Parâmetros
module ModuleDefinition

Retorna
boolean