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 gemeinsam erfasst werden,

Zusammenfassung

Öffentliche Konstruktoren

StrictShardHelper()

Öffentliche Methoden

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

Versuch, die Konfiguration in Unterkonfigurationen zu zerlegen, die neu geplant werden, um parallel auf mehreren Ressourcen ausgeführt zu werden.

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)

Sie können die Liste der Tests nach Bedarf aufteilen.

Öffentliche Konstruktoren

StrictShardHelper

public StrictShardHelper ()

Öffentliche Methoden

shardConfig

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

Versuch, die Konfiguration in Unterkonfigurationen zu zerlegen, die neu geplant werden, um parallel auf mehreren Ressourcen ausgeführt zu werden.

Bei einer erfolgreichen Shard-Aktion wird die aktuelle Konfiguration leer und die Ausführung sollte nicht fortgesetzt werden.

Parameter
config IConfiguration: der aktuelle IConfiguration.

testInfo TestInformation: die TestInformation, die die Testinformationen enthält.

rescheduler IRescheduler: die IRescheduler

logger ITestLogger

Returns
boolean „wahr“, wenn der Test in Shards ausgeführt 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

shardConfigInternal

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)

Sie können die Liste der Tests nach Bedarf aufteilen. Das Sharding muss konsistent sein. Es ist zulässig, eine leere Liste zurückzugeben, wenn im Shard keine Tests ausgeführt werden können.

Implementieren Sie diese Option, um ein shardbasiertes Testen für eine Testsuite zu ermöglichen. Bei der Standardimplementierung wird zuerst versucht, die Anzahl der IRemoteTest-Objekte pro Shard so weit wie möglich auszugleichen. Anschließend werden die Listen mithilfe von untergeordneten Kriterien oder Ausführungshinweise noch etwas angepasst.

Parameter
fullList : die ursprüngliche 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.

useEvenModuleSharding boolean: ob eine Strategie verwendet werden soll, die die Anzahl der Module gleichmäßig auf die Shards verteilt

Returns
eine Liste von ListenIRemoteTest, die den einzelnen Shards zugewiesen wurden. Die Größe der Liste ist die ShardCount.