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 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 für die parallele Ausführung auf mehreren Ressourcen neu zu planen. |
Geschützte Methoden | |
---|---|
splitTests ( fullList, int shardCount) splitTests ( fullList, int shardCount) Teilen Sie die Liste der Tests auf, die ausgeführt werden sollen, wie es die Implementierung 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 aufzuteilen, um sie für die parallele Ausführung auf mehreren Ressourcen neu zu planen.
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 geshardet wurde. Geben Sie andernfalls false zurück |
Geschützte Methoden
splitTests
protectedsplitTests ( fullList, int shardCount)
Teilen Sie die Liste der Tests auf, die ausgeführt werden sollen, wie es die Implementierung für richtig hält. Sharding 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 ein testsuitespezifisches Sharding bereitzustellen. Die Standardimplementierung versucht in einem ersten Schritt, die Anzahl von IRemoteTest pro Shards so weit wie möglich auszugleichen, und verwendet dann ein untergeordnetes Kriterium oder einen Ausführungshinweis, um die Listen etwas weiter anzupassen.
Parameter | |
---|---|
fullList | IRemoteTest , die alle Tests enthält, die ausgeführt werden müssen. |
shardCount | int : die Gesamtzahl der Shards, die ausgeführt werden müssen. |
Kehrt zurück | |
---|---|
eine Liste von IRemoteTest s, die jedem Shard zugewiesen wurden. Die Listengröße ist ShardCount. |