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 abstraite utilisée pour exécuter la suite de tests. Cette classe fournit la base de l'exécution de la suite. Chaque implémentation peut définir la liste des tests via la méthode loadTests().

Résumé

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

Champs

protected boolean mEnableResolveSymlinks

protected boolean mRecoverDeviceByCvd

Constructeurs publics

ITestSuite()

Méthodes publiques

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

Possibilité de nettoyer tous les éléments nécessaires lors de la configuration des suites, mais qui ne sont pas requis pour exécuter les tests.

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

Appliquez le filtre de métadonnées à la configuration et vérifiez si elle doit s'exécuter.

getAbis(ITestDevice device)

Obtient l'ensemble des ABI compatibles avec les tests de compatibilité AbiUtils.getAbisSupportedByCompatibility() et l'appareil testé.

static getAbisForBuildTargetArchFromSuite()

Renvoie les ABI possibles à partir de TestSuiteInfo.

IBuildInfo getBuildInfo()

L'implémentation de ITestSuite peut nécessiter le chargement des informations de compilation pour exécuter les tests.

final IConfiguration getConfiguration()

Renvoie l'invocation IConfiguration.

ITestLogger getCurrentTestLogger()
ITestDevice getDevice()

Obtenez l'appareil à tester.

ModuleDefinition getDirectModule()

Renvoie le ModuleDefinition à exécuter directement ou la valeur "null" si aucun n'est encore disponible (lorsque l'ITestSuite n'a pas encore été fragmenté).

boolean getIntraModuleSharding()
IInvocationContext getInvocationContext()

Renvoie le contexte d'invocation.

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

Renvoie l'ABI demandée avec l'option -a ou --abi.

getRequiredTokens(TestInformation testInfo)

Renvoie la liste des jetons requis par le test.

long getRuntimeHint()

Renvoie la durée d'exécution attendue du test en millisecondes.

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

Renvoie "true" si nous sommes actuellement dans IShardableTest.split(int).

abstract loadTests()

Méthode abstraite permettant de charger la configuration des tests qui seront exécutés.

void reportNotExecuted(ITestInvocationListener listener, String message)

Signalez les tests non exécutés à l'écouteur principal fourni.

void reportNotExecuted(ITestInvocationListener listener)

Signalez les tests non exécutés à l'écouteur principal fourni.

final void run(TestInformation testInfo, ITestInvocationListener listener)

Méthode d'exécution générique pour tous les tests chargés à partir de loadTests().

void setAbiName(String abiName)

Définissez la valeur de mAbiName

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

void setCollectTestsOnly(boolean shouldCollectTest)

Exécutez la suite de tests en mode collecteur uniquement. Pour cela, tous les sous-tests doivent également implémenter cette interface.

void setConfiguration(IConfiguration configuration)

Injecte le IConfiguration en cours d'utilisation.

void setDevice(ITestDevice device)

Injectez l'appareil à tester.

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

void setMetricCollectors( collectors)

Définit la liste des IMetricCollector définis pour l'exécution du test.

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

Définissez la valeur de mPrimaryAbiRun

void setShouldMakeDynamicModule(boolean dynamicModule)

Lors du sharding distribué, nous ne pouvons pas avoir de ModuleDefinition qui partage des tests dans un pool, sinon le sharding intra-module ne fonctionnera pas. Nous autorisons donc sa désactivation.

void setSkipContext(SkipContext skipContext)
void setSystemStatusChecker( systemCheckers)

Définit les ISystemStatusChecker à partir de la configuration du test.

void setTestLogger(ITestLogger testLogger)

Injecte l'instance ITestLogger

split(Integer shardCountHint, TestInformation testInfo)

Version alternative de split(int) qui fournit également un TestInformation contenant des informations préliminaires du parent qui crée les fragments.

Méthodes protégées

createModuleListeners()

Renvoie la liste des ITestInvocationListener applicables au niveau ModuleListener.

boolean filterByRunnerType(IConfiguration config, allowedRunners)

Appliquez le filtrage de la liste blanche des exécutants, en supprimant tout exécutant qui n'y figure pas.

getAbisForBuildTargetArch()

Renvoie les ABI compatibles avec l'architecture cible de compilation de l'hôte.

getHostAbis()

Renvoie les ABI de la machine hôte.

void setPrioritizeHostConfig(boolean prioritizeHostConfig)

Définissez l'option "prioritize-host-config".

boolean shouldModuleRun(ModuleDefinition module)

Constantes

ABI_OPTION

public static final String ABI_OPTION

Valeur constante : "abi"

ACTIVE_MAINLINE_PARAMETER_KEY

public static final String ACTIVE_MAINLINE_PARAMETER_KEY

Valeur constante : "active-mainline-parameter"

BUILD_ATTRIBUTE_FLAG_OVERRIDES_KEY

public static final String BUILD_ATTRIBUTE_FLAG_OVERRIDES_KEY

Valeur constante : "flag-overrides"

public static final String ENABLE_RESOLVE_SYM_LINKS

Constant Value: "enable-resolve-sym-links"

MAINLINE_PARAMETER_KEY

public static final String MAINLINE_PARAMETER_KEY

Valeur constante : "mainline-param"

MODULE_CHECKER_POST

public static final String MODULE_CHECKER_POST

Valeur de constante : "PostModuleChecker"

MODULE_CHECKER_PRE

public static final String MODULE_CHECKER_PRE

Valeur de constante : "PreModuleChecker"

MODULE_END_TIME

public static final String MODULE_END_TIME

Valeur de constante : "MODULE_END_TIME"

MODULE_METADATA_EXCLUDE_FILTER

public static final String MODULE_METADATA_EXCLUDE_FILTER

Valeur de constante : "module-metadata-exclude-filter"

MODULE_METADATA_INCLUDE_FILTER

public static final String MODULE_METADATA_INCLUDE_FILTER

Valeur constante : "module-metadata-include-filter"

MODULE_START_TIME

public static final String MODULE_START_TIME

Valeur de constante : "MODULE_START_TIME"

PARAMETER_KEY

public static final String PARAMETER_KEY

Valeur constante : "parameter"

PREPARER_WHITELIST

public static final String PREPARER_WHITELIST

Valeur constante : "preparer-whitelist"

PRIMARY_ABI_RUN

public static final String PRIMARY_ABI_RUN

Valeur constante : "primary-abi-only"

RANDOM_SEED

public static final String RANDOM_SEED

Valeur constante : "random-seed"

RUNNER_WHITELIST

public static final String RUNNER_WHITELIST

Valeur constante : "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

Valeur constante : "skip-staging-artifacts"

SKIP_SYSTEM_STATUS_CHECKER

public static final String SKIP_SYSTEM_STATUS_CHECKER

Valeur constante : "skip-system-status-check"

STAGE_MODULE_ARTIFACTS

public static final String STAGE_MODULE_ARTIFACTS

Valeur constante : "stage-module-artifacts"

TEST_TYPE_KEY

public static final String TEST_TYPE_KEY

Valeur constante : "test-type"

TEST_TYPE_VALUE_PERFORMANCE

public static final String TEST_TYPE_VALUE_PERFORMANCE

Valeur constante : "performance"

TOKEN_KEY

public static final String TOKEN_KEY

Valeur constante : "token"

Champs

protected boolean mEnableResolveSymlinks

mRecoverDeviceByCvd

protected boolean mRecoverDeviceByCvd

Constructeurs publics

ITestSuite

public ITestSuite ()

Méthodes publiques

addModuleMetadataExcludeFilters

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

Paramètres
filters MultiMap

addModuleMetadataIncludeFilters

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

Paramètres
filters MultiMap

cleanUpSuiteSetup

public void cleanUpSuiteSetup ()

Possibilité de nettoyer tous les éléments nécessaires lors de la configuration des suites, mais qui ne sont pas requis pour exécuter les tests.

filterByConfigMetadata

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

Appliquez le filtre de métadonnées à la configuration et vérifiez si elle doit s'exécuter.

Paramètres
config IConfiguration : IConfiguration en cours d'évaluation.

include MultiMap : filtre d'inclusion des métadonnées

exclude MultiMap : filtre d'exclusion des métadonnées

Renvoie
boolean "True" si le module doit s'exécuter, "false" dans le cas contraire.

getAbis

public  getAbis (ITestDevice device)

Obtient l'ensemble des ABI compatibles avec les tests de compatibilité AbiUtils.getAbisSupportedByCompatibility() et l'appareil testé.

Paramètres
device ITestDevice

Renvoie
Ensemble d'ABI sur lesquels exécuter les tests

Génère
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

getAbisForBuildTargetArchFromSuite

public static  getAbisForBuildTargetArchFromSuite ()

Renvoie les ABI possibles à partir de TestSuiteInfo.

Renvoie

getBuildInfo

public IBuildInfo getBuildInfo ()

L'implémentation de ITestSuite peut nécessiter le chargement des informations de compilation pour exécuter les tests.

Renvoie
IBuildInfo

getConfiguration

public final IConfiguration getConfiguration ()

Renvoie l'invocation IConfiguration.

Renvoie
IConfiguration

getCurrentTestLogger

public ITestLogger getCurrentTestLogger ()

Renvoie
ITestLogger

getDevice

public ITestDevice getDevice ()

Obtenez l'appareil à tester.

Renvoie
ITestDevice le ITestDevice

getDirectModule

public ModuleDefinition getDirectModule ()

Renvoie le ModuleDefinition à exécuter directement ou la valeur "null" si aucun n'est encore disponible (lorsque l'ITTestSuite n'a pas encore été fragmenté).

Renvoie
ModuleDefinition

getIntraModuleSharding

public boolean getIntraModuleSharding ()

Renvoie
boolean

getInvocationContext

public IInvocationContext getInvocationContext ()

Renvoie le contexte d'invocation.

Renvoie
IInvocationContext

getModuleMetadataIncludeFilters

public MultiMap<String, String> getModuleMetadataIncludeFilters ()

Renvoie
MultiMap<String, String>

getMultiDeviceStrategy

public ITestSuite.MultiDeviceModuleStrategy getMultiDeviceStrategy ()

Renvoie
ITestSuite.MultiDeviceModuleStrategy

getRequestedAbi

public final String getRequestedAbi ()

Renvoie l'ABI demandée avec l'option -a ou --abi.

Renvoie
String

getRequiredTokens

public  getRequiredTokens (TestInformation testInfo)

Renvoie la liste des jetons requis par le test. Renvoie la valeur "null" si les jetons ne sont pas acceptés.

Paramètres
testInfo TestInformation

Renvoie

getRuntimeHint

public long getRuntimeHint ()

Renvoie la durée d'exécution attendue du test en millisecondes. Ce temps est utilisé pour équilibrer la charge de l'exécution fragmentée.

Renvoie
long

getTestsDir

public File getTestsDir ()

Renvoie
File

isRemoveModuleBuffering

public boolean isRemoveModuleBuffering ()

Renvoie
boolean

isSplitting

public boolean isSplitting ()

Renvoie "true" si nous sommes actuellement dans IShardableTest.split(int).

Renvoie
boolean

loadTests

public abstract  loadTests ()

Méthode abstraite permettant de charger la configuration des tests qui seront exécutés. Chaque test est défini par un IConfiguration et un nom unique sous lequel les résultats seront communiqués.

Renvoie

reportNotExecuted

public void reportNotExecuted (ITestInvocationListener listener, 
                String message)

Signalez les tests non exécutés à l'écouteur principal fourni. Ils doivent être signalés comme ayant échoué avec le message NOT_EXECUTED_FAILURE.

Paramètres
listener ITestInvocationListener : écouteur principal auquel les résultats non exécutés doivent être signalés.

message String : message à associer à l'échec non exécuté.

reportNotExecuted

public void reportNotExecuted (ITestInvocationListener listener)

Signalez les tests non exécutés à l'écouteur principal fourni. Ils doivent être signalés comme ayant échoué avec le message NOT_EXECUTED_FAILURE.

Paramètres
listener ITestInvocationListener : écouteur principal auquel les résultats non exécutés doivent être signalés.

Exécuter

public final void run (TestInformation testInfo, 
                ITestInvocationListener listener)

Méthode d'exécution générique pour tous les tests chargés à partir de loadTests().

Paramètres
testInfo TestInformation : objet TestInformation contenant des informations utiles pour exécuter des tests.

listener ITestInvocationListener : ITestInvocationListener des résultats du test

Génère
DeviceNotAvailableException

setAbiName

public void setAbiName (String abiName)

Définissez la valeur de mAbiName.

Paramètres
abiName String

setAbis

public final void setAbis ( abis)

Paramètres
abis

setBuild

public void setBuild (IBuildInfo buildInfo)

Paramètres
buildInfo IBuildInfo

setCollectTestsOnly

public void setCollectTestsOnly (boolean shouldCollectTest)

Exécutez la suite de tests en mode collecteur uniquement. Pour cela, tous les sous-tests doivent également implémenter cette interface.

setConfiguration

public void setConfiguration (IConfiguration configuration)

Injecte le IConfiguration en cours d'utilisation.

Paramètres
configuration IConfiguration

setDevice

public void setDevice (ITestDevice device)

Injectez l'appareil à tester.

Paramètres
device ITestDevice : ITestDevice à utiliser

setDirectModule

public void setDirectModule (ModuleDefinition module)

Paramètres
module ModuleDefinition

setIntraModuleSharding

public void setIntraModuleSharding (boolean intraModuleSharding)

Paramètres
intraModuleSharding boolean

setInvocationContext

public void setInvocationContext (IInvocationContext invocationContext)

Paramètres
invocationContext IInvocationContext

setMetricCollectors

public void setMetricCollectors ( collectors)

Définit la liste des IMetricCollector définis pour l'exécution du test.

Paramètres
collectors

setMultiDeviceStrategy

public void setMultiDeviceStrategy (ITestSuite.MultiDeviceModuleStrategy strategy)

Paramètres
strategy ITestSuite.MultiDeviceModuleStrategy

setPrimaryAbiRun

public void setPrimaryAbiRun (boolean primaryAbiRun)

Définissez la valeur de mPrimaryAbiRun

Paramètres
primaryAbiRun boolean

setShouldMakeDynamicModule

public void setShouldMakeDynamicModule (boolean dynamicModule)

Lors du sharding distribué, nous ne pouvons pas avoir de ModuleDefinition qui partage des tests dans un pool, sinon le sharding intra-module ne fonctionnera pas. Nous autorisons donc sa désactivation.

Paramètres
dynamicModule boolean

setSkipContext

public void setSkipContext (SkipContext skipContext)

Paramètres
skipContext SkipContext

setSystemStatusChecker

public void setSystemStatusChecker ( systemCheckers)

Définit les ISystemStatusChecker à partir de la configuration du test.

Paramètres
systemCheckers

setTestLogger

public void setTestLogger (ITestLogger testLogger)

Injecte l'instance ITestLogger

Paramètres
testLogger ITestLogger

split

public  split (Integer shardCountHint, 
                TestInformation testInfo)

Version alternative de split(int) qui fournit également un TestInformation contenant des informations préliminaires du parent qui crée les fragments. Cela est utile si des informations telles que celles sur l'appareil ou la version doivent être accessibles pendant le partitionnement.

Paramètres
shardCountHint Integer : nombre de partitions tenté.

testInfo TestInformation : TestInformation parent

Renvoie
une collection de sous-tests à exécuter séparément ou null si le test n'est pas actuellement fragmentable.

Méthodes protégées

createModuleListeners

protected  createModuleListeners ()

Renvoie la liste des ITestInvocationListener applicables au niveau ModuleListener. Ces écouteurs seront réutilisés pour chaque module. Ils ne seront pas réinstanciés. Ils ne doivent donc pas supposer un état interne.

Renvoie

filterByRunnerType

protected boolean filterByRunnerType (IConfiguration config, 
                 allowedRunners)

Appliquez le filtrage de la liste blanche des exécutants, en supprimant tout exécutant qui n'y figure pas. Si une configuration comporte plusieurs exécuteurs, certains peuvent être supprimés et la configuration s'exécutera quand même.

Paramètres
config IConfiguration : IConfiguration en cours d'évaluation.

allowedRunners  : liste blanche des exécuteurs actuelle.

Renvoie
boolean "True" si le module de configuration est autorisé à s'exécuter, "false" dans le cas contraire.

getAbisForBuildTargetArch

protected  getAbisForBuildTargetArch ()

Renvoie les ABI compatibles avec l'architecture cible de compilation de l'hôte. Exposé pour les tests.

Renvoie

getHostAbis

protected  getHostAbis ()

Renvoie les ABI de la machine hôte.

Renvoie

setPrioritizeHostConfig

protected void setPrioritizeHostConfig (boolean prioritizeHostConfig)

Définissez l'option "prioritize-host-config".

Paramètres
prioritizeHostConfig boolean : "true" pour donner la priorité à la configuration de l'hôte, c'est-à-dire exécuter le test de l'hôte si possible.

shouldModuleRun

protected boolean shouldModuleRun (ModuleDefinition module)

Paramètres
module ModuleDefinition

Renvoie
boolean