StrictShardHelper

public class StrictShardHelper
extends ShardHelper

java.lang.Object
com.android.tradefed.invoker.shard.ShardHelper
  com.android.tradefed.invoker.shard.StrictShardHelper


Sharding-Strategie zum Erstellen von strikten Shards, die nicht zusammen gemeldet werden

Zusammenfassung

Öffentliche Konstruktoren

StrictShardHelper()

Öffentliche Methoden

boolean shardConfig(IConfiguration config, TestInformation testInfo, IRescheduler rescheduler, ITestLogger logger)

Versuch, die Konfiguration in Unterkonfigurationen aufzuteilen, die neu geplant werden sollen, um auf mehreren Ressourcen parallel ausgeführt zu werden.

Geschützte Methoden

boolean shardConfigDynamic(IConfiguration config, TestInformation testInfo, IRescheduler rescheduler, ITestLogger logger)
boolean shardConfigInternal(IConfiguration config, TestInformation testInfo, IRescheduler rescheduler, ITestLogger logger)
List<List<IRemoteTest>> splitTests(List<IRemoteTest> fullList, int shardCount, boolean useEvenModuleSharding)

Teilt die Liste der auszuführenden Tests nach Belieben der Implementierung auf.

Öffentliche Konstruktoren

StrictShardHelper

public StrictShardHelper ()

Öffentliche Methoden

shardConfig

public boolean shardConfig (IConfiguration config, 
                TestInformation testInfo, 
                IRescheduler rescheduler, 
                ITestLogger logger)

Versuch, die Konfiguration in Unterkonfigurationen aufzuteilen, die neu geplant werden sollen, um auf mehreren Ressourcen parallel ausgeführt zu werden.

Bei einer erfolgreichen Shard-Aktion ist die aktuelle Konfiguration leer und die Ausführung sollte nicht fortgesetzt werden.

Parameter
config IConfiguration: die aktuelle IConfiguration.

testInfo TestInformation: die TestInformation mit den Testinformationen.

rescheduler IRescheduler: der IRescheduler

logger ITestLogger

Gibt Folgendes zurück:
boolean „true“, wenn der Test aufgeteilt wurde. Andernfalls wird false zurückgegeben.

Geschützte Methoden

shardConfigDynamic

protected boolean shardConfigDynamic (IConfiguration config, 
                TestInformation testInfo, 
                IRescheduler rescheduler, 
                ITestLogger logger)

Parameter
config IConfiguration

testInfo TestInformation

rescheduler IRescheduler

logger ITestLogger

Gibt Folgendes zurück:
boolean

shardConfigInternal

protected boolean shardConfigInternal (IConfiguration config, 
                TestInformation testInfo, 
                IRescheduler rescheduler, 
                ITestLogger logger)

Parameter
config IConfiguration

testInfo TestInformation

rescheduler IRescheduler

logger ITestLogger

Gibt Folgendes zurück:
boolean

splitTests

protected List<List<IRemoteTest>> splitTests (List<IRemoteTest> fullList, 
                int shardCount, 
                boolean useEvenModuleSharding)

Teilt die Liste der auszuführenden Tests nach Belieben der Implementierung auf. Die Aufteilung muss konsistent sein. Es ist akzeptabel, eine leere Liste zurückzugeben, wenn keine Tests im Shard ausgeführt werden können.

Implementieren Sie dies, um eine Test-Suite-spezifische Fragmentierung bereitzustellen. Bei der Standard implementierung wird zuerst versucht, die Anzahl der IRemoteTest pro Shard so weit wie möglich auszugleichen . Anschließend werden untergeordnete Kriterien oder Ausführungshinweise verwendet, um die Listen weiter anzupassen.

Parameter
fullList List: die anfängliche vollständige Liste der IRemoteTest mit allen Tests, die ausgeführt werden müssen.

shardCount int: die Gesamtzahl der Shards, die ausgeführt werden müssen.

useEvenModuleSharding boolean: gibt an, ob eine Strategie verwendet werden soll, die die Anzahl der Module gleichmäßig auf die Shards verteilt.

Gibt Folgendes zurück:
List<List<IRemoteTest>> Eine Liste von IRemoteTest-Listen, die den einzelnen Shards zugewiesen wurden. Die Listengröße entspricht der Anzahl der Shards.