StrictShardHelper

public class StrictShardHelper
extends ShardHelper

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


Sharding-Strategie zur Erstellung strenger Shards, die nicht zusammen berichten,

Zusammenfassung

Öffentliche Bauträger

StrictShardHelper ()

Öffentliche Methoden

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

Versuchen Sie, die Konfiguration in Unterkonfigurationen aufzuteilen, um sie so zu planen, dass sie auf mehreren Ressourcen parallel ausgeführt werden.

Geschützte Methoden

splitTests ( fullList, int shardCount, boolean useEvenModuleSharding) splitTests ( fullList, int shardCount, boolean useEvenModuleSharding)

Teilen Sie die Liste der auszuführenden Tests auf, je nachdem, wie die Implementierung es für richtig hält.

Öffentliche Bauträger

StrictShardHelper

public StrictShardHelper ()

Öffentliche Methoden

shardConfig

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

Versuchen Sie, die Konfiguration in Unterkonfigurationen aufzuteilen, um sie so zu planen, dass sie auf mehreren Ressourcen parallel ausgeführt werden.

Eine erfolgreiche Shard-Aktion macht die aktuelle Konfiguration leer und der Aufruf sollte nicht fortgesetzt werden.

Parameter
config IConfiguration : die aktuelle IConfiguration .

testInfo TestInformation : Die TestInformation , die die Testinformationen enthält.

rescheduler IRescheduler : der IRescheduler

logger ITestLogger

Kehrt zurück
boolean wahr, wenn der Test fragmentiert wurde. Andernfalls wird false zurückgegeben

Geschützte Methoden

SplitTests

protected  splitTests ( fullList, 
                int shardCount, 
                boolean useEvenModuleSharding)

Teilen Sie die Liste der auszuführenden Tests auf, je nachdem, wie die Implementierung es für richtig hält. Das Sharding muss konsistent sein. Es ist akzeptabel, eine leere Liste zurückzugeben, wenn im Shard keine Tests ausgeführt werden können.

Implementieren Sie dies, um ein testsuitespezifisches Sharding bereitzustellen. Die Standardimplementierung versucht als ersten Schritt, die Anzahl der IRemoteTests pro Shards so weit wie möglich auszugleichen, und verwendet dann ein Nebenkriterium oder einen Ausführungshinweis, um die Listen etwas weiter anzupassen.

Parameter
fullList : Die anfängliche vollständige Liste von 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

Kehrt zurück
eine Liste von Listen- IRemoteTest , die jedem Shard zugewiesen wurden. Die Listengröße ist shardCount.