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 gemeldet werden,

Zusammenfassung

Öffentliche Konstrukteure

StrictShardHelper ()

Öffentliche Methoden

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

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

Geschützte Methoden

splitTests ( fullList, int shardCount) splitTests ( fullList, int shardCount)

Teilen Sie die Liste der auszuführenden Tests auf, wie auch immer die Implementierung dies für richtig hält.

Öffentliche Konstrukteure

StrictShardHelper

public StrictShardHelper ()

Öffentliche Methoden

shardConfig

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

Versuchen Sie, die Konfiguration in Unterkonfigurationen zu unterteilen, um sie so neu zu planen, dass sie auf mehreren Ressourcen gleichzeitig ausgeführt wird.

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 TestInformation enthält.

rescheduler IRescheduler : Der IRescheduler

logger ITestLogger

Kehrt zurück
boolean wahr, wenn der Test abgebrochen wurde. Andernfalls geben Sie false

Geschützte Methoden

splitTests

protected  splitTests ( fullList, 
                int shardCount)

Teilen Sie die Liste der auszuführenden Tests auf, wie auch immer die Implementierung dies für richtig hält. 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 Testsuite-spezifisches Sharding bereitzustellen. Die Standardimplementierung versucht als ersten Schritt, die Anzahl der IRemoteTest pro Shard so weit wie möglich auszugleichen. Verwenden Sie dann ein kleines Kriterium oder einen Run-Hinweis, um die Listen etwas weiter anzupassen.

Parameter
fullList : Die erste 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.

Kehrt zurück
Eine Liste der IRemoteTest , die jedem Shard zugewiesen wurden. Die Listengröße ist shardCount.