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


Abstrakte Klasse, die zum Ausführen der Testsuite verwendet wird. Diese Klasse bildet die Grundlage für die Ausführung der Suite. Jede Implementierung kann die Liste der Tests über die Methode loadTests() definieren.

Zusammenfassung

Felder

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

Öffentliche Konstruktoren

ITestSuite()

Öffentliche Methoden

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

Hier können Sie alle Elemente bereinigen, die während der Einrichtung der Suiten erforderlich waren, aber nicht zum Ausführen der Tests benötigt werden.

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

Wenden Sie den Metadatenfilter auf die Konfiguration an und prüfen Sie, ob sie ausgeführt werden sollte.

getAbis(ITestDevice device)

Ruft die ABIs ab, die sowohl vom Kompatibilitätstest AbiUtils.getAbisSupportedByCompatibility() als auch vom Testgerät unterstützt werden.

static getAbisForBuildTargetArchFromSuite()

Gibt die möglichen AVIS aus den TestSuiteInfos zurück.

IBuildInfo getBuildInfo()

Für die Implementierung von ITestSuite sind möglicherweise Build-Informationen erforderlich, um die Tests zu laden.

final IConfiguration getConfiguration()

Gibt den Aufruf IConfiguration zurück.

ITestLogger getCurrentTestLogger()
ITestDevice getDevice()

Holen Sie sich das Testgerät.

ModuleDefinition getDirectModule()

Gibt die ModuleDefinition zurück, die direkt ausgeführt werden soll, oder „null“, wenn noch keine vorhanden ist (wenn die ITestSuite noch nicht geSharded wurde).

boolean getIntraModuleSharding()
IInvocationContext getInvocationContext()

Gibt den Aufrufkontext zurück.

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

Gibt die ABI zurück, die mit der Option „-a“ oder „--abi“ angefordert wurde.

getRequiredTokens(TestInformation testInfo)

Gibt die Liste der vom Test benötigten Tokens zurück.

long getRuntimeHint()

Gibt die voraussichtliche Laufzeit des Tests in Millisekunden zurück.

File getTestsDir()
boolean isSplitting()

Gibt „wahr“ zurück, wenn wir uns derzeit in IShardableTest.split(int) befinden.

abstract loadTests()

Abstrakte Methode zum Laden der zu laufenden Testkonfiguration.

void reportNotExecuted(ITestInvocationListener listener, String message)

Melden Sie die nicht ausgeführten Tests an den angegebenen Hauptempfänger.

void reportNotExecuted(ITestInvocationListener listener)

Melden Sie die nicht ausgeführten Tests an den angegebenen Hauptempfänger.

final void run(TestInformation testInfo, ITestInvocationListener listener)

Generische Ausführungsmethode für alle Tests, die aus loadTests() geladen wurden.

void setAbiName(String abiName)

Legen Sie den Wert von „mAbiName“ fest.

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

void setCollectTestsOnly(boolean shouldCollectTest)

Führen Sie die Testsuite im reinen Collector-Modus aus. Dazu müssen alle Untertests diese Schnittstelle ebenfalls implementieren.

void setConfiguration(IConfiguration configuration)

Fügt den verwendeten IConfiguration ein.

void setDevice(ITestDevice device)

Testgerät einschleusen

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

void setMetricCollectors( collectors)

Hiermit wird die Liste der IMetricCollectors festgelegt, die für den Testlauf definiert sind.

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

Legen Sie den Wert für „mPrimaryAbiRun“ fest.

void setShouldMakeDynamicModule(boolean dynamicModule)

Bei verteiltem Sharding können wir keine ModuleDefinition haben, die Tests in einem Pool freigibt, da sonst das intramodulare Sharding nicht funktioniert. Daher ist es möglich, sie zu deaktivieren.

void setSkipContext(SkipContext skipContext)
void setSystemStatusChecker( systemCheckers)

Legt die ISystemStatusCheckers aus der Konfiguration für den Test fest.

void setTestLogger(ITestLogger testLogger)

ITestLogger-Instanz einschleust

split(Integer shardCountHint, TestInformation testInfo)

Alternative Version von split(int), die auch ein TestInformation enthält, das frühe Informationen vom übergeordneten Element enthält, das die Shards erstellt.

Geschützte Methoden

createModuleListeners()

Gibt die Liste der ITestInvocationListener zurück, die für die ModuleListener-Ebene gelten.

boolean filterByRunnerType(IConfiguration config, allowedRunners)

Wenden Sie den Filter für die Zulassungsliste für Läufer an und entfernen Sie alle Läufer, die nicht auf der Zulassungsliste stehen.

getAbisForBuildTargetArch()

Gibt die von der Zielarchitektur des Host-Builds unterstützten ABIs zurück.

getHostAbis()

Gibt die abis des Hosts zurück.

void setPrioritizeHostConfig(boolean prioritizeHostConfig)

Legen Sie die Option „prioritize-host-config“ fest.

boolean shouldModuleRun(ModuleDefinition module)

Felder

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

MODULE_CHECKER_PRE

public static final String MODULE_CHECKER_PRE

MODULE_END_TIME

public static final String MODULE_END_TIME

MODULE_METADATA_EXCLUDE_FILTER

public static final String MODULE_METADATA_EXCLUDE_FILTER

MODULE_METADATA_INCLUDE_FILTER

public static final String MODULE_METADATA_INCLUDE_FILTER

MODULE_START_TIME

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

SKIP_HOST_ARCH_CHECK

public static final String SKIP_HOST_ARCH_CHECK

SKIP_STAGING_ARTIFACTS

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

Öffentliche Konstruktoren

ITestSuite

public ITestSuite ()

Öffentliche Methoden

addModuleMetadataExcludeFilters

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

Parameter
filters MultiMap

addModuleMetadataIncludeFilters

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

Parameter
filters MultiMap

cleanUpSuiteSetup

public void cleanUpSuiteSetup ()

Hier können Sie alle Elemente bereinigen, die während der Einrichtung der Suiten erforderlich waren, aber nicht zum Ausführen der Tests benötigt werden.

filterByConfigMetadata

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

Wenden Sie den Metadatenfilter auf die Konfiguration an und prüfen Sie, ob sie ausgeführt werden sollte.

Parameter
config IConfiguration: Der zu bewertende IConfiguration.

include MultiMap: den Metadaten-Inklusionsfilter

exclude MultiMap: den Metadaten-Ausschlussfilter

Returns
boolean „True“, wenn das Modul ausgeführt werden soll, andernfalls „false“.

getAbis

public  getAbis (ITestDevice device)

Ruft die ABIs ab, die sowohl vom Kompatibilitätstest AbiUtils.getAbisSupportedByCompatibility() als auch vom Testgerät unterstützt werden.

Parameter
device ITestDevice

Returns
Die ABIs, auf denen die Tests ausgeführt werden sollen

Ausgabe
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

getAbisForBuildTargetArchFromSuite

public static  getAbisForBuildTargetArchFromSuite ()

Gibt die möglichen AVIS aus den TestSuiteInfo zurück.

Returns

getBuildInfo

public IBuildInfo getBuildInfo ()

Für die Implementierung von ITestSuite sind möglicherweise Build-Informationen erforderlich, um die Tests zu laden.

Returns
IBuildInfo

getConfiguration

public final IConfiguration getConfiguration ()

Gibt den Aufruf IConfiguration zurück.

Returns
IConfiguration

getCurrentTestLogger

public ITestLogger getCurrentTestLogger ()

Returns
ITestLogger

getDevice

public ITestDevice getDevice ()

Holen Sie sich das Testgerät.

Returns
ITestDevice die ITestDevice

getDirectModule

public ModuleDefinition getDirectModule ()

Gibt die direkt auszuführende ModuleDefinition zurück oder „null“, wenn noch keine vorhanden ist (wenn die ITestSuite noch nicht geSharded wurde).

Returns
ModuleDefinition

getIntraModuleSharding

public boolean getIntraModuleSharding ()

Returns
boolean

getInvocationContext

public IInvocationContext getInvocationContext ()

Gibt den Aufrufkontext zurück.

Returns
IInvocationContext

getModuleMetadataIncludeFilters

public MultiMap<String, String> getModuleMetadataIncludeFilters ()

Returns
MultiMap<String, String>

getMultiDeviceStrategy

public ITestSuite.MultiDeviceModuleStrategy getMultiDeviceStrategy ()

Returns
ITestSuite.MultiDeviceModuleStrategy

getRequestedAbi

public final String getRequestedAbi ()

Gibt die ABI zurück, die mit der Option „-a“ oder „--abi“ angefordert wurde.

Returns
String

getRequiredTokens

public  getRequiredTokens (TestInformation testInfo)

Liste der vom Test benötigten Tokens. Gibt null zurück, wenn keine Token unterstützt werden.

Parameter
testInfo TestInformation

Returns

getRuntimeHint

public long getRuntimeHint ()

Gibt die voraussichtliche Laufzeit des Tests in Millisekunden zurück. Die Zeit wird für das Load Balancing der ge shardeten Ausführung verwendet.

Returns
long

getTestsDir

public File getTestsDir ()

Returns
File

isSplitting

public boolean isSplitting ()

Gibt „wahr“ zurück, wenn wir uns derzeit in IShardableTest.split(int) befinden.

Returns
boolean

loadTests

public abstract  loadTests ()

Abstrakte Methode zum Laden der zu laufenden Testkonfiguration. Jeder Test wird durch eine IConfiguration und einen eindeutigen Namen definiert, unter dem die Ergebnisse erfasst werden.

Returns

reportNotExecuted

public void reportNotExecuted (ITestInvocationListener listener, 
                String message)

Melden Sie die nicht ausgeführten Tests an den angegebenen Hauptempfänger. Sie sollten mit der Meldung NOT_EXECUTED_FAILURE als fehlgeschlagen gemeldet werden.

Parameter
listener ITestInvocationListener: Der Haupt-Listener, an den die nicht ausgeführten Ergebnisse gesendet werden sollen.

message String: Die Nachricht, die dem nicht ausgeführten Fehler zugeordnet werden soll.

reportNotExecuted

public void reportNotExecuted (ITestInvocationListener listener)

Melden Sie die nicht ausgeführten Tests an den angegebenen Hauptempfänger. Sie sollten mit der Meldung NOT_EXECUTED_FAILURE als fehlgeschlagen gemeldet werden.

Parameter
listener ITestInvocationListener: Der Haupt-Listener, an den die nicht ausgeführten Ergebnisse gesendet werden sollen.

Homerun

public final void run (TestInformation testInfo, 
                ITestInvocationListener listener)

Generische Ausführungsmethode für alle Tests, die aus loadTests() geladen wurden.

Parameter
testInfo TestInformation: Das TestInformation-Objekt mit nützlichen Informationen zum Ausführen von Tests.

listener ITestInvocationListener: ITestInvocationListener der Testergebnisse

Ausgabe
DeviceNotAvailableException

setAbiName

public void setAbiName (String abiName)

Legen Sie den Wert von „mAbiName“ fest.

Parameter
abiName String

setAbis

public final void setAbis ( abis)

Parameter
abis

setBuild

public void setBuild (IBuildInfo buildInfo)

Parameter
buildInfo IBuildInfo

setCollectTestsOnly

public void setCollectTestsOnly (boolean shouldCollectTest)

Führen Sie die Testsuite im reinen Collector-Modus aus. Dazu müssen alle Untertests diese Schnittstelle ebenfalls implementieren.

setConfiguration

public void setConfiguration (IConfiguration configuration)

Fügt den verwendeten IConfiguration ein.

Parameter
configuration IConfiguration

setDevice

public void setDevice (ITestDevice device)

Testgerät einschleusen

Parameter
device ITestDevice: der zu verwendende ITestDevice

setDirectModule

public void setDirectModule (ModuleDefinition module)

Parameter
module ModuleDefinition

setIntraModuleSharding

public void setIntraModuleSharding (boolean intraModuleSharding)

Parameter
intraModuleSharding boolean

setInvocationContext

public void setInvocationContext (IInvocationContext invocationContext)

Parameter
invocationContext IInvocationContext

setMetricCollectors

public void setMetricCollectors ( collectors)

Hiermit wird die Liste der IMetricCollectors festgelegt, die für den Testlauf definiert sind.

Parameter
collectors

setMultiDeviceStrategy

public void setMultiDeviceStrategy (ITestSuite.MultiDeviceModuleStrategy strategy)

Parameter
strategy ITestSuite.MultiDeviceModuleStrategy

setPrimaryAbiRun

public void setPrimaryAbiRun (boolean primaryAbiRun)

Legen Sie den Wert für „mPrimaryAbiRun“ fest.

Parameter
primaryAbiRun boolean

setShouldMakeDynamicModule

public void setShouldMakeDynamicModule (boolean dynamicModule)

Bei verteiltem Sharding können wir keine ModuleDefinition haben, die Tests in einem Pool freigibt, da sonst das intramodulare Sharding nicht funktioniert. Daher ist es möglich, sie zu deaktivieren.

Parameter
dynamicModule boolean

setSkipContext

public void setSkipContext (SkipContext skipContext)

Parameter
skipContext SkipContext

setSystemStatusChecker

public void setSystemStatusChecker ( systemCheckers)

Legt die ISystemStatusCheckers aus der Konfiguration für den Test fest.

Parameter
systemCheckers

setTestLogger

public void setTestLogger (ITestLogger testLogger)

ITestLogger-Instanz einschleust

Parameter
testLogger ITestLogger

Aufteilen

public  split (Integer shardCountHint, 
                TestInformation testInfo)

Alternative Version von split(int), die auch ein TestInformation enthält, das frühe Informationen vom übergeordneten Element enthält, das die Shards erstellt. Das ist nützlich, wenn beim Sharding auf Geräte- oder Build-Informationen zugegriffen werden muss.

Parameter
shardCountHint Integer: die Anzahl der Shards, die versucht wurden.

testInfo TestInformation: Das übergeordnete TestInformation

Returns
eine Sammlung von Teiltests, die separat ausgeführt werden sollen, oder null, wenn der Test derzeit nicht geShardet werden kann

Geschützte Methoden

createModuleListeners

protected  createModuleListeners ()

Gibt die Liste der ITestInvocationListener zurück, die für die ModuleListener-Ebene gelten. Diese Listener werden für jedes Modul wiederverwendet, sie werden nicht neu instanziiert. Daher sollten sie keinen internen Status annehmen.

Returns

filterByRunnerType

protected boolean filterByRunnerType (IConfiguration config, 
                 allowedRunners)

Wenden Sie den Filter für die Zulassungsliste für Läufer an und entfernen Sie alle Läufer, die nicht auf der Zulassungsliste stehen. Wenn eine Konfiguration mehrere Auslöser hat, werden einige möglicherweise entfernt, die Konfiguration wird aber trotzdem ausgeführt.

Parameter
config IConfiguration: Der zu bewertende IConfiguration.

allowedRunners : Die aktuelle Zulassungsliste für Runner.

Returns
boolean „True“, wenn das Konfigurationsmodul ausgeführt werden darf, andernfalls „false“.

getAbisForBuildTargetArch

protected  getAbisForBuildTargetArch ()

Gibt die ABIs zurück, die von der Zielarchitektur des Host-Builds unterstützt werden. Wird für Tests freigegeben.

Returns

getHostAbis

protected  getHostAbis ()

Gibt die abis des Hosts zurück.

Returns

setPrioritizeHostConfig

protected void setPrioritizeHostConfig (boolean prioritizeHostConfig)

Legen Sie die Option „prioritize-host-config“ fest.

Parameter
prioritizeHostConfig boolean: „true“, um die Hostkonfiguration zu priorisieren, d.h., den Hosttest nach Möglichkeit auszuführen.

shouldModuleRun

protected boolean shouldModuleRun (ModuleDefinition module)

Parameter
module ModuleDefinition

Returns
boolean