StrictShardHelper

public class StrictShardHelper
extends ShardHelper

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


Stratégie de partitionnement permettant de créer des partitions strictes qui ne sont pas signalées ensemble,

Résumé

Constructeurs publics

StrictShardHelper()

Méthodes publiques

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

Tentative de partitionnement de la configuration en sous-configurations, à reprogrammer pour s'exécuter en parallèle sur plusieurs ressources.

Méthodes protégées

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

Divisez la liste des tests à exécuter comme bon vous semble.

Constructeurs publics

StrictShardHelper

public StrictShardHelper ()

Méthodes publiques

shardConfig

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

Tentative de partitionnement de la configuration en sous-configurations, à reprogrammer pour s'exécuter en parallèle sur plusieurs ressources.

Une action de partitionnement réussie vide la configuration actuelle, et l'appel ne doit pas se poursuivre.

Paramètres
config IConfiguration : IConfiguration actuelle.

testInfo TestInformation : TestInformation contenant les informations sur les tests.

rescheduler IRescheduler : IRescheduler

logger ITestLogger

Renvoie
boolean true si le test a été partitionné. Sinon, renvoie false

Méthodes protégées

shardConfigDynamic

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

Paramètres
config IConfiguration

testInfo TestInformation

rescheduler IRescheduler

logger ITestLogger

Renvoie
boolean

shardConfigInternal

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

Paramètres
config IConfiguration

testInfo TestInformation

rescheduler IRescheduler

logger ITestLogger

Renvoie
boolean

splitTests

protected List<List<IRemoteTest>> splitTests (List<IRemoteTest> fullList, 
                int shardCount, 
                boolean useEvenModuleSharding)

Divisez la liste des tests à exécuter comme bon vous semble. Le partitionnement doit être cohérent. Il est acceptable de renvoyer une liste vide si aucun test ne peut être exécuté dans la partition.

Implémentez cette option pour fournir un partitionnement spécifique à la suite de tests. L'implémentation par défaut tente d'équilibrer autant que possible le nombre d'IRemoteTest par partition dans un premier temps, puis utilise un critère mineur ou un indice d'exécution pour ajuster un peu plus les listes.

Paramètres
fullList List : liste complète initiale de IRemoteTest contenant tous les tests à exécuter.

shardCount int : nombre total de partitions à exécuter.

useEvenModuleSharding boolean : indique s'il faut utiliser une stratégie qui répartit uniformément le nombre de modules entre les partitions.

Renvoie
List<List<IRemoteTest>> liste de listes d'IRemoteTest qui ont été attribuées à chaque partition. La taille de la liste correspondra à shardCount.