StrengShardHelper

public class StrictShardHelper
extends ShardHelper

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


Fragmentierungsstrategie zum Erstellen strikter Shards, die nicht gemeinsam Berichte generieren,

Zusammenfassung

Öffentliche Konstruktoren

StrictShardHelper()

Öffentliche Methoden

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

Versuchen Sie, die Konfiguration in Unterkonfigurationen aufzuteilen, deren Ausführung neu geplant werden soll. mehrere Ressourcen gleichzeitig ausführen.

Geschützte Methoden

boolean shardConfigDynamic(IConfiguration config, TestInformation testInfo, IRescheduler rescheduler, ITestLogger logger)
boolean shardConfigInternal(IConfiguration config, TestInformation testInfo, IRescheduler rescheduler, ITestLogger logger)
splitTests( fullList, int shardCount, boolean useEvenModuleSharding)

Teilen Sie die Liste der Tests nach Belieben auf.

Öffentliche Konstruktoren

StrengShardHelper

public StrictShardHelper ()

Öffentliche Methoden

shardConfig

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

Versuchen Sie, die Konfiguration in Unterkonfigurationen aufzuteilen, deren Ausführung neu geplant werden soll. mehrere Ressourcen gleichzeitig ausführen.

Eine erfolgreiche Shard-Aktion führt dazu, dass die aktuelle Konfiguration leer ist. können Sie fortfahren.

Parameter
config IConfiguration: die aktuelle IConfiguration.

testInfo TestInformation: TestInformation mit den Testinformationen.

rescheduler IRescheduler: die IRescheduler

logger ITestLogger

Returns
boolean true, wenn der Test fragmentiert wurde. Andernfalls wird false zurückgegeben.

Geschützte Methoden

shardConfigDynamic

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

Parameter
config IConfiguration

testInfo TestInformation

rescheduler IRescheduler

logger ITestLogger

Returns
boolean

shardConfigIntern

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

Parameter
config IConfiguration

testInfo TestInformation

rescheduler IRescheduler

logger ITestLogger

Returns
boolean

SplitTests

protected  splitTests ( fullList, 
                int shardCount, 
                boolean useEvenModuleSharding)

Teilen Sie die Liste der Tests nach Belieben auf. Die Fragmentierung muss einheitlich sind. Es ist akzeptabel, eine leere Liste zurückzugeben, wenn im Shard keine Tests ausgeführt werden können.

Implementieren Sie dies, um eine Testsuite-spezifische Fragmentierung bereitzustellen. Standardeinstellung bei der Implementierung versucht, die Anzahl von IRemoteTest pro Shards so weit wie möglich auszugleichen. als ersten Schritt ein und verwenden dann kleinere Kriterien oder einen Lauf-Hinweis, um die Listen 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 auszuführenden Shards.

useEvenModuleSharding boolean: ob eine Strategie verwendet werden soll, bei der die Anzahl der Module über Shards hinweg

Returns
Eine Liste mit Listen-IRemoteTests, die jedem Shard zugewiesen wurden. Die Liste ist shardCount.