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

protected  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. 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 : die anfängliche vollständige Liste von 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.