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 zum Ausführen der Testsuite. Diese Klasse bildet die Grundlage für die Ausführung der Suite. In jeder Implementierung kann die Liste der Tests über die Methode loadTests() definiert werden.

Zusammenfassung

Konstanten

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

Felder

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 entfernen, die für die Einrichtung der Suites erforderlich waren, aber nicht für die Ausführung der Tests.

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 die Konfiguration ausgeführt werden soll.

getAbis(ITestDevice device)

Ruft die Gruppe von ABIs ab, die sowohl vom Kompatibilitätstest AbiUtils.getAbisSupportedByCompatibility() als auch vom zu testenden Gerät unterstützt werden.

static getAbisForBuildTargetArchFromSuite()

Gibt die möglichen ABIs aus TestSuiteInfo zurück.

IBuildInfo getBuildInfo()

Für die Implementierung von ITestSuite müssen möglicherweise die Build-Informationen geladen werden, um die Tests auszuführen.

final IConfiguration getConfiguration()

Gibt den Aufruf IConfiguration zurück.

ITestLogger getCurrentTestLogger()
ITestDevice getDevice()

Besorgen Sie sich das zu testende Gerät.

ModuleDefinition getDirectModule()

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

boolean getIntraModuleSharding()
IInvocationContext getInvocationContext()

Gibt den Aufrufkontext zurück.

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

Gibt das mit der Option „-a“ oder „--abi“ angeforderte ABI zurück.

getRequiredTokens(TestInformation testInfo)

Gibt die Liste der für den Test erforderlichen Tokens zurück.

long getRuntimeHint()

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

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

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

abstract loadTests()

Abstrakte Methode zum Laden der Konfiguration der auszuführenden Tests.

void reportNotExecuted(ITestInvocationListener listener, String message)

Melden Sie die nicht ausgeführten Tests an den bereitgestellten Hauptlistener.

void reportNotExecuted(ITestInvocationListener listener)

Melden Sie die nicht ausgeführten Tests an den bereitgestellten Hauptlistener.

final void run(TestInformation testInfo, ITestInvocationListener listener)

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

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 nur im Collectormodus aus. Dazu müssen alle untergeordneten Tests diese Schnittstelle ebenfalls implementieren.

void setConfiguration(IConfiguration configuration)

Fügt die verwendete IConfiguration ein.

void setDevice(ITestDevice device)

Schließe das zu testende Gerät an.

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

void setMetricCollectors( collectors)

Legt die Liste der IMetricCollector fest, die für den Testlauf definiert sind.

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

Legen Sie den Wert von mPrimaryAbiRun fest.

void setShouldMakeDynamicModule(boolean dynamicModule)

Beim verteilten Sharding darf es keine ModuleDefinition geben, die Tests in einem Pool gemeinsam nutzt. Andernfalls funktioniert das Sharding innerhalb des Moduls nicht. Daher ist es möglich, es zu deaktivieren.

void setSkipContext(SkipContext skipContext)
void setSystemStatusChecker( systemCheckers)

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

void setTestLogger(ITestLogger testLogger)

Fügt die ITestLogger-Instanz ein.

split(Integer shardCountHint, TestInformation testInfo)

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

Geschützte Methoden

createModuleListeners()

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

boolean filterByRunnerType(IConfiguration config, allowedRunners)

Wenden Sie die Filterung der Runner-Zulassungsliste an und entfernen Sie alle Runner, die nicht auf der Zulassungsliste stehen.

getAbisForBuildTargetArch()

Gibt die von der Architektur des Host-Build-Ziels unterstützten ABIs zurück.

getHostAbis()

Gibt die ABIs des Hostcomputers zurück.

void setPrioritizeHostConfig(boolean prioritizeHostConfig)

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

boolean shouldModuleRun(ModuleDefinition module)

Konstanten

ABI_OPTION

public static final String ABI_OPTION

Konstanter Wert: "abi"

ACTIVE_MAINLINE_PARAMETER_KEY

public static final String ACTIVE_MAINLINE_PARAMETER_KEY

Konstanter Wert: "active-mainline-parameter"

BUILD_ATTRIBUTE_FLAG_OVERRIDES_KEY

public static final String BUILD_ATTRIBUTE_FLAG_OVERRIDES_KEY

Konstanter Wert: "flag-overrides"

public static final String ENABLE_RESOLVE_SYM_LINKS

Konstanter Wert: "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

Konstanter Wert: "PostModuleChecker"

MODULE_CHECKER_PRE

public static final String MODULE_CHECKER_PRE

Constant Value: "PreModuleChecker"

MODULE_END_TIME

public static final String MODULE_END_TIME

Konstanter Wert: "MODULE_END_TIME"

MODULE_METADATA_EXCLUDE_FILTER

public static final String MODULE_METADATA_EXCLUDE_FILTER

Konstanter Wert: "module-metadata-exclude-filter"

MODULE_METADATA_INCLUDE_FILTER

public static final String MODULE_METADATA_INCLUDE_FILTER

Konstanter Wert: "module-metadata-include-filter"

MODULE_START_TIME

public static final String MODULE_START_TIME

Konstanter Wert: "MODULE_START_TIME"

PARAMETER_KEY

public static final String PARAMETER_KEY

Konstanter Wert: "parameter"

PREPARER_WHITELIST

public static final String PREPARER_WHITELIST

Konstanter Wert: "preparer-whitelist"

PRIMARY_ABI_RUN

public static final String PRIMARY_ABI_RUN

Konstanter Wert: „primary-abi-only“

RANDOM_SEED

public static final String RANDOM_SEED

Konstanter Wert: "random-seed"

RUNNER_WHITELIST

public static final String RUNNER_WHITELIST

Konstanter Wert: "runner-whitelist"

SKIP_HOST_ARCH_CHECK

public static final String SKIP_HOST_ARCH_CHECK

Konstanter Wert: "skip-host-arch-check"

SKIP_STAGING_ARTIFACTS

public static final String SKIP_STAGING_ARTIFACTS

Konstanter Wert: "skip-staging-artifacts"

SKIP_SYSTEM_STATUS_CHECKER

public static final String SKIP_SYSTEM_STATUS_CHECKER

Konstanter Wert: "skip-system-status-check"

STAGE_MODULE_ARTIFACTS

public static final String STAGE_MODULE_ARTIFACTS

Constant Value: "stage-module-artifacts"

TEST_TYPE_KEY

public static final String TEST_TYPE_KEY

Konstanter Wert: "test-type"

TEST_TYPE_VALUE_PERFORMANCE

public static final String TEST_TYPE_VALUE_PERFORMANCE

Konstanter Wert: "performance"

TOKEN_KEY

public static final String TOKEN_KEY

Konstanter Wert: "token"

Felder

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 entfernen, die für die Einrichtung der Suites erforderlich waren, aber nicht für die Ausführung der Tests.

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 die Konfiguration ausgeführt werden soll.

Parameter
config IConfiguration: Die zu bewertende IConfiguration.

include MultiMap: der Metadaten-Einbeziehungsfilter

exclude MultiMap: der Metadatenausschlussfilter

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

getAbis

public  getAbis (ITestDevice device)

Ruft die Gruppe von ABIs ab, die sowohl vom Kompatibilitätstest AbiUtils.getAbisSupportedByCompatibility() als auch vom zu testenden Gerät unterstützt werden.

Parameter
device ITestDevice

Returns
Die ABIs, für die die Tests ausgeführt werden sollen

Ausgabe
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

getAbisForBuildTargetArchFromSuite

public static  getAbisForBuildTargetArchFromSuite ()

Gibt die möglichen ABIs aus TestSuiteInfo zurück.

Returns

getBuildInfo

public IBuildInfo getBuildInfo ()

Für die Implementierung von ITestSuite müssen möglicherweise die Build-Informationen geladen werden, um die Tests auszuführen.

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 ()

Besorgen Sie sich das zu testende Gerät.

Returns
ITestDevice die ITestDevice

getDirectModule

public ModuleDefinition getDirectModule ()

Gibt die ModuleDefinition zurück, die direkt ausgeführt werden soll, oder „null“, wenn noch keine vorhanden ist (wenn ITestSuite noch nicht aufgeteilt 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 das mit der Option „-a“ oder „--abi“ angeforderte ABI zurück.

Returns
String

getRequiredTokens

public  getRequiredTokens (TestInformation testInfo)

Gibt die Liste der für den Test erforderlichen Tokens zurück. Gibt „null“ zurück, wenn keine Token unterstützt werden.

Parameter
testInfo TestInformation

Returns

getRuntimeHint

public long getRuntimeHint ()

Gibt die erwartete Laufzeit des Tests in Millisekunden zurück. Die Zeit wird verwendet, um die Ausführung von Shards auszugleichen.

Returns
long

getTestsDir

public File getTestsDir ()

Returns
File

isRemoveModuleBuffering

public boolean isRemoveModuleBuffering ()

Returns
boolean

isSplitting

public boolean isSplitting ()

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

Returns
boolean

loadTests

public abstract  loadTests ()

Abstrakte Methode zum Laden der Konfiguration der auszuführenden Tests. Jeder Test wird durch ein IConfiguration und einen eindeutigen Namen definiert, unter dem die Ergebnisse gemeldet werden.

Returns

reportNotExecuted

public void reportNotExecuted (ITestInvocationListener listener, 
                String message)

Melden Sie die nicht ausgeführten Tests an den bereitgestellten Haupt-Listener. 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 gemeldet werden sollen.

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

reportNotExecuted

public void reportNotExecuted (ITestInvocationListener listener)

Melden Sie die nicht ausgeführten Tests an den bereitgestellten Haupt-Listener. 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 gemeldet werden sollen.

Homerun

public final void run (TestInformation testInfo, 
                ITestInvocationListener listener)

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

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

listener ITestInvocationListener: die 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 nur im Collectormodus aus. Dazu müssen alle untergeordneten Tests diese Schnittstelle ebenfalls implementieren.

setConfiguration

public void setConfiguration (IConfiguration configuration)

Fügt die verwendete IConfiguration ein.

Parameter
configuration IConfiguration

setDevice

public void setDevice (ITestDevice device)

Schließe das zu testende Gerät an.

Parameter
device ITestDevice: die 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)

Legt die Liste der IMetricCollector fest, 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 von mPrimaryAbiRun fest.

Parameter
primaryAbiRun boolean

setShouldMakeDynamicModule

public void setShouldMakeDynamicModule (boolean dynamicModule)

Beim verteilten Sharding darf es keine ModuleDefinition geben, die Tests in einem Pool gemeinsam nutzt. Andernfalls funktioniert das Sharding innerhalb des Moduls nicht. Daher ist es möglich, es 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)

Fügt die ITestLogger-Instanz ein.

Parameter
testLogger ITestLogger

aufteilen

public  split (Integer shardCountHint, 
                TestInformation testInfo)

Alternative Version von split(int), die auch TestInformation enthält, mit ersten Informationen vom übergeordneten Element, das die Shards erstellt. Dies ist nützlich, wenn während des Shardings auf Geräte- oder Build-Informationen zugegriffen werden muss.

Parameter
shardCountHint Integer: Die Anzahl der versuchten Shards.

testInfo TestInformation: Der übergeordnete TestInformation

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

Geschützte Methoden

createModuleListeners

protected  createModuleListeners ()

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

Returns

filterByRunnerType

protected boolean filterByRunnerType (IConfiguration config, 
                 allowedRunners)

Wenden Sie die Filterung der Runner-Zulassungsliste an und entfernen Sie alle Runner, die nicht auf der Zulassungsliste stehen. Wenn eine Konfiguration mehrere Runner hat, werden möglicherweise einige entfernt, die Konfiguration wird aber trotzdem ausgeführt.

Parameter
config IConfiguration: Die zu bewertende IConfiguration.

allowedRunners : Die aktuelle Runner-Zulassungsliste.

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

getAbisForBuildTargetArch

protected  getAbisForBuildTargetArch ()

Gibt die von der Architektur des Host-Build-Ziels unterstützten ABIs zurück. Für Tests verfügbar gemacht.

Returns

getHostAbis

protected  getHostAbis ()

Gibt die ABIs des Hostgeräts 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