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 astratta utilizzata per eseguire Test Suite. Questo corso fornisce le basi per l'esecuzione della suite. Ogni implementazione può definire l'elenco dei test tramite il metodo loadTests().

Riepilogo

Costanti

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

Campi

protected boolean mEnableResolveSymlinks

protected boolean mRecoverDeviceByCvd

Costruttori pubblici

ITestSuite()

Metodi pubblici

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

Possibilità di eliminare tutti gli elementi necessari durante la configurazione delle suite, ma non obbligatori per l'esecuzione dei test.

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

Applica il filtro dei metadati alla configurazione e verifica se deve essere eseguita.

getAbis(ITestDevice device)

Recupera il set di ABI supportati sia dai test di compatibilità AbiUtils.getAbisSupportedByCompatibility() sia dal dispositivo in fase di test.

static getAbisForBuildTargetArchFromSuite()

Restituisce gli ABI possibili da TestSuiteInfo.

IBuildInfo getBuildInfo()

L'implementazione di ITestSuite potrebbe richiedere il caricamento delle informazioni sulla build per eseguire i test.

final IConfiguration getConfiguration()

Restituisce l'invocazione IConfiguration.

ITestLogger getCurrentTestLogger()
ITestDevice getDevice()

Ottieni il dispositivo in fase di test.

ModuleDefinition getDirectModule()

Restituisce ModuleDefinition da eseguire direttamente o null se non è ancora presente (quando ITestSuite non è ancora stato suddiviso).

boolean getIntraModuleSharding()
IInvocationContext getInvocationContext()

Restituisce il contesto di invocazione.

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

Restituisce l'ABI richiesto con l'opzione -a o --abi.

getRequiredTokens(TestInformation testInfo)

Restituisce l'elenco dei token richiesti dal test.

long getRuntimeHint()

Restituisce il tempo di esecuzione previsto del test in millisecondi.

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

Restituisce true se ci troviamo attualmente in IShardableTest.split(int).

abstract loadTests()

Metodo astratto per caricare la configurazione dei test che verranno eseguiti.

void reportNotExecuted(ITestInvocationListener listener, String message)

Segnala i test non eseguiti al listener principale fornito.

void reportNotExecuted(ITestInvocationListener listener)

Segnala i test non eseguiti al listener principale fornito.

final void run(TestInformation testInfo, ITestInvocationListener listener)

Metodo di esecuzione generico per tutti i test caricati da loadTests().

void setAbiName(String abiName)

Imposta il valore di mAbiName

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

void setCollectTestsOnly(boolean shouldCollectTest)

Esegui la suite di test in modalità solo raccoglitore, il che richiede che anche tutti i test secondari implementino questa interfaccia.

void setConfiguration(IConfiguration configuration)

Inserisce il IConfiguration in uso.

void setDevice(ITestDevice device)

Inserisci il dispositivo in fase di test.

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

void setMetricCollectors( collectors)

Imposta l'elenco di IMetricCollector definiti per l'esecuzione del test.

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

Imposta il valore di mPrimaryAbiRun

void setShouldMakeDynamicModule(boolean dynamicModule)

Quando eseguiamo lo sharding distribuito, non possiamo avere ModuleDefinition che condivide i test in un pool altrimenti lo sharding intra-modulo non funzionerà, quindi consentiamo di disattivarlo.

void setSkipContext(SkipContext skipContext)
void setSystemStatusChecker( systemCheckers)

Imposta i ISystemStatusChecker dalla configurazione per il test.

void setTestLogger(ITestLogger testLogger)

Inserisce l'istanza ITestLogger

split(Integer shardCountHint, TestInformation testInfo)

Versione alternativa di split(int) che fornisce anche un TestInformation che contiene le prime informazioni del genitore che crea gli shard.

Metodi protetti

createModuleListeners()

Restituisce l'elenco di ITestInvocationListener applicabili al livello ModuleListener.

boolean filterByRunnerType(IConfiguration config, allowedRunners)

Applica il filtro della lista consentita dei runner, rimuovendo tutti i runner non autorizzati.

getAbisForBuildTargetArch()

Restituisce gli ABI supportati dall'architettura di destinazione della build host.

getHostAbis()

Restituisce gli ABI della macchina host.

void setPrioritizeHostConfig(boolean prioritizeHostConfig)

Imposta l'opzione prioritize-host-config.

boolean shouldModuleRun(ModuleDefinition module)

Costanti

ABI_OPTION

public static final String ABI_OPTION

Valore costante: "abi"

ACTIVE_MAINLINE_PARAMETER_KEY

public static final String ACTIVE_MAINLINE_PARAMETER_KEY

Valore costante: "active-mainline-parameter"

BUILD_ATTRIBUTE_FLAG_OVERRIDES_KEY

public static final String BUILD_ATTRIBUTE_FLAG_OVERRIDES_KEY

Constant Value: "flag-overrides"

public static final String ENABLE_RESOLVE_SYM_LINKS

Valore costante: "enable-resolve-sym-links"

MAINLINE_PARAMETER_KEY

public static final String MAINLINE_PARAMETER_KEY

Constant Value: "mainline-param"

MODULE_CHECKER_POST

public static final String MODULE_CHECKER_POST

Constant Value: "PostModuleChecker"

MODULE_CHECKER_PRE

public static final String MODULE_CHECKER_PRE

Constant Value: "PreModuleChecker"

MODULE_END_TIME

public static final String MODULE_END_TIME

Constant Value: "MODULE_END_TIME"

MODULE_METADATA_EXCLUDE_FILTER

public static final String MODULE_METADATA_EXCLUDE_FILTER

Constant Value: "module-metadata-exclude-filter"

MODULE_METADATA_INCLUDE_FILTER

public static final String MODULE_METADATA_INCLUDE_FILTER

Valore costante: "module-metadata-include-filter"

MODULE_START_TIME

public static final String MODULE_START_TIME

Valore costante: "MODULE_START_TIME"

PARAMETER_KEY

public static final String PARAMETER_KEY

Valore costante: "parameter"

PREPARER_WHITELIST

public static final String PREPARER_WHITELIST

Constant Value: "preparer-whitelist"

PRIMARY_ABI_RUN

public static final String PRIMARY_ABI_RUN

Valore costante: "primary-abi-only"

RANDOM_SEED

public static final String RANDOM_SEED

Constant Value: "random-seed"

RUNNER_WHITELIST

public static final String RUNNER_WHITELIST

Valore costante: "runner-whitelist"

SKIP_HOST_ARCH_CHECK

public static final String SKIP_HOST_ARCH_CHECK

Constant Value: "skip-host-arch-check"

SKIP_STAGING_ARTIFACTS

public static final String SKIP_STAGING_ARTIFACTS

Constant Value: "skip-staging-artifacts"

SKIP_SYSTEM_STATUS_CHECKER

public static final String SKIP_SYSTEM_STATUS_CHECKER

Constant Value: "skip-system-status-check"

STAGE_MODULE_ARTIFACTS

public static final String STAGE_MODULE_ARTIFACTS

Valore costante: "stage-module-artifacts"

TEST_TYPE_KEY

public static final String TEST_TYPE_KEY

Valore costante: "test-type"

TEST_TYPE_VALUE_PERFORMANCE

public static final String TEST_TYPE_VALUE_PERFORMANCE

Constant Value: "performance"

TOKEN_KEY

public static final String TOKEN_KEY

Constant Value: "token"

Campi

protected boolean mEnableResolveSymlinks

mRecoverDeviceByCvd

protected boolean mRecoverDeviceByCvd

Costruttori pubblici

ITestSuite

public ITestSuite ()

Metodi pubblici

addModuleMetadataExcludeFilters

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

Parametri
filters MultiMap

addModuleMetadataIncludeFilters

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

Parametri
filters MultiMap

cleanUpSuiteSetup

public void cleanUpSuiteSetup ()

Possibilità di eliminare tutti gli elementi necessari durante la configurazione delle suite, ma non obbligatori per l'esecuzione dei test.

filterByConfigMetadata

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

Applica il filtro dei metadati alla configurazione e verifica se deve essere eseguita.

Parametri
config IConfiguration: il IConfiguration in fase di valutazione.

include MultiMap: il filtro di inclusione dei metadati

exclude MultiMap: il filtro di esclusione dei metadati

Ritorni
boolean Vero se il modulo deve essere eseguito, falso in caso contrario.

getAbis

public  getAbis (ITestDevice device)

Recupera l'insieme di ABI supportati sia dal test di compatibilità AbiUtils.getAbisSupportedByCompatibility() sia dal dispositivo in fase di test.

Parametri
device ITestDevice

Ritorni
Il set di ABI su cui eseguire i test

Lanci
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

getAbisForBuildTargetArchFromSuite

public static  getAbisForBuildTargetArchFromSuite ()

Restituisce gli ABI possibili da TestSuiteInfo.

Ritorni

getBuildInfo

public IBuildInfo getBuildInfo ()

L'implementazione di ITestSuite potrebbe richiedere il caricamento delle informazioni sulla build per eseguire i test.

Ritorni
IBuildInfo

getConfiguration

public final IConfiguration getConfiguration ()

Restituisce l'invocazione IConfiguration.

Ritorni
IConfiguration

getCurrentTestLogger

public ITestLogger getCurrentTestLogger ()

Ritorni
ITestLogger

getDevice

public ITestDevice getDevice ()

Ottieni il dispositivo in fase di test.

Ritorni
ITestDevice ITestDevice

getDirectModule

public ModuleDefinition getDirectModule ()

Restituisce ModuleDefinition da eseguire direttamente o null se non è ancora presente (quando ITestSuite non è ancora stato suddiviso).

Ritorni
ModuleDefinition

getIntraModuleSharding

public boolean getIntraModuleSharding ()

Ritorni
boolean

getInvocationContext

public IInvocationContext getInvocationContext ()

Restituisce il contesto di invocazione.

Ritorni
IInvocationContext

getModuleMetadataIncludeFilters

public MultiMap<String, String> getModuleMetadataIncludeFilters ()

Ritorni
MultiMap<String, String>

getMultiDeviceStrategy

public ITestSuite.MultiDeviceModuleStrategy getMultiDeviceStrategy ()

Ritorni
ITestSuite.MultiDeviceModuleStrategy

getRequestedAbi

public final String getRequestedAbi ()

Restituisce l'ABI richiesto con l'opzione -a o --abi.

Ritorni
String

getRequiredTokens

public  getRequiredTokens (TestInformation testInfo)

Restituisce l'elenco dei token richiesti dal test. Restituisce null se non è supportato alcun token.

Parametri
testInfo TestInformation

Ritorni

getRuntimeHint

public long getRuntimeHint ()

Restituisce il tempo di esecuzione previsto del test in millisecondi. Il tempo viene utilizzato per bilanciare il carico dell'esecuzione partizionata

Ritorni
long

getTestsDir

public File getTestsDir ()

Ritorni
File

isRemoveModuleBuffering

public boolean isRemoveModuleBuffering ()

Ritorni
boolean

isSplitting

public boolean isSplitting ()

Restituisce true se ci troviamo attualmente in IShardableTest.split(int).

Ritorni
boolean

loadTests

public abstract  loadTests ()

Metodo astratto per caricare la configurazione dei test che verranno eseguiti. Ogni test è definito da un IConfiguration e da un nome univoco con cui verranno riportati i risultati.

Ritorni

reportNotExecuted

public void reportNotExecuted (ITestInvocationListener listener, 
                String message)

Segnala i test non eseguiti al listener principale fornito. Devono essere segnalati come non riusciti con il messaggio NOT_EXECUTED_FAILURE.

Parametri
listener ITestInvocationListener: il listener principale in cui segnalare i risultati non eseguiti.

message String: il messaggio da associare all'errore non eseguito.

reportNotExecuted

public void reportNotExecuted (ITestInvocationListener listener)

Segnala i test non eseguiti al listener principale fornito. Devono essere segnalati come non riusciti con il messaggio NOT_EXECUTED_FAILURE.

Parametri
listener ITestInvocationListener: il listener principale in cui segnalare i risultati non eseguiti.

run

public final void run (TestInformation testInfo, 
                ITestInvocationListener listener)

Metodo di esecuzione generico per tutti i test caricati da loadTests().

Parametri
testInfo TestInformation: l'oggetto TestInformation contenente informazioni utili per eseguire i test.

listener ITestInvocationListener: il ITestInvocationListener dei risultati del test

Lanci
DeviceNotAvailableException

setAbiName

public void setAbiName (String abiName)

Imposta il valore di mAbiName

Parametri
abiName String

setAbis

public final void setAbis ( abis)

Parametri
abis

setBuild

public void setBuild (IBuildInfo buildInfo)

Parametri
buildInfo IBuildInfo

setCollectTestsOnly

public void setCollectTestsOnly (boolean shouldCollectTest)

Esegui la suite di test in modalità solo raccoglitore, il che richiede che anche tutti i test secondari implementino questa interfaccia.

setConfiguration

public void setConfiguration (IConfiguration configuration)

Inserisce il IConfiguration in uso.

Parametri
configuration IConfiguration

setDevice

public void setDevice (ITestDevice device)

Inserisci il dispositivo in fase di test.

Parametri
device ITestDevice: il ITestDevice da utilizzare

setDirectModule

public void setDirectModule (ModuleDefinition module)

Parametri
module ModuleDefinition

setIntraModuleSharding

public void setIntraModuleSharding (boolean intraModuleSharding)

Parametri
intraModuleSharding boolean

setInvocationContext

public void setInvocationContext (IInvocationContext invocationContext)

Parametri
invocationContext IInvocationContext

setMetricCollectors

public void setMetricCollectors ( collectors)

Imposta l'elenco di IMetricCollector definiti per l'esecuzione del test.

Parametri
collectors

setMultiDeviceStrategy

public void setMultiDeviceStrategy (ITestSuite.MultiDeviceModuleStrategy strategy)

Parametri
strategy ITestSuite.MultiDeviceModuleStrategy

setPrimaryAbiRun

public void setPrimaryAbiRun (boolean primaryAbiRun)

Imposta il valore di mPrimaryAbiRun

Parametri
primaryAbiRun boolean

setShouldMakeDynamicModule

public void setShouldMakeDynamicModule (boolean dynamicModule)

Quando eseguiamo lo sharding distribuito, non possiamo avere ModuleDefinition che condivide i test in un pool altrimenti lo sharding all'interno del modulo non funzionerà, quindi consentiamo di disattivarlo.

Parametri
dynamicModule boolean

setSkipContext

public void setSkipContext (SkipContext skipContext)

Parametri
skipContext SkipContext

setSystemStatusChecker

public void setSystemStatusChecker ( systemCheckers)

Imposta i ISystemStatusChecker dalla configurazione per il test.

Parametri
systemCheckers

setTestLogger

public void setTestLogger (ITestLogger testLogger)

Inserisce l'istanza ITestLogger

Parametri
testLogger ITestLogger

suddivisione

public  split (Integer shardCountHint, 
                TestInformation testInfo)

Versione alternativa di split(int) che fornisce anche un TestInformation che contiene le prime informazioni del genitore che crea gli shard. È utile se durante lo sharding è necessario accedere a elementi come le informazioni sul dispositivo o sulla build.

Parametri
shardCountHint Integer: il numero di shard tentato.

testInfo TestInformation: Il genitore TestInformation

Ritorni
una raccolta di test secondari da eseguire separatamente o null se il test non è attualmente suddivisibile

Metodi protetti

createModuleListeners

protected  createModuleListeners ()

Restituisce l'elenco di ITestInvocationListener applicabili al livello ModuleListener. Questi listener verranno riutilizzati per ogni modulo, non verranno istanziati nuovamente, quindi non devono presupporre uno stato interno.

Ritorni

filterByRunnerType

protected boolean filterByRunnerType (IConfiguration config, 
                 allowedRunners)

Applica il filtro della lista consentita dei runner, rimuovendo tutti i runner non autorizzati. Se una configurazione ha più runner, alcuni potrebbero essere rimossi e la configurazione verrà comunque eseguita.

Parametri
config IConfiguration: il IConfiguration in fase di valutazione.

allowedRunners : L'elenco consentito attuale dei runner.

Ritorni
boolean Vero se il modulo di configurazione può essere eseguito, falso in caso contrario.

getAbisForBuildTargetArch

protected  getAbisForBuildTargetArch ()

Restituisce gli ABI supportati dall'architettura di destinazione della build host. Esposto per i test.

Ritorni

getHostAbis

protected  getHostAbis ()

Restituisce gli ABI della macchina host.

Ritorni

setPrioritizeHostConfig

protected void setPrioritizeHostConfig (boolean prioritizeHostConfig)

Imposta l'opzione prioritize-host-config.

Parametri
prioritizeHostConfig boolean: true per dare la priorità alla configurazione host, ovvero eseguire il test dell'host, se possibile.

shouldModuleRun

protected boolean shouldModuleRun (ModuleDefinition module)

Parametri
module ModuleDefinition

Ritorni
boolean