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
protectedsplitTests ( 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 | 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. |