StrictShardHelper

public class StrictShardHelper
extends ShardHelper

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


Strategia di sharding per creare frammenti rigorosi che non riportano insieme,

Riepilogo

Costruttori pubblici

StrictShardHelper ()

Metodi pubblici

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

Tentare di suddividere la configurazione in sottoconfigurazioni, da riprogrammare per l'esecuzione su più risorse in parallelo.

Metodi protetti

splitTests ( fullList, int shardCount, boolean useEvenModuleSharding) splitTests ( fullList, int shardCount, boolean useEvenModuleSharding)

Dividere l'elenco dei test da eseguire nel modo ritenuto opportuno dall'implementazione.

Costruttori pubblici

StrictShardHelper

public StrictShardHelper ()

Metodi pubblici

shardConfig

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

Tentare di suddividere la configurazione in sottoconfigurazioni, da riprogrammare per l'esecuzione su più risorse in parallelo.

Un'azione di shard riuscita rende la configurazione corrente vuota e l'invocazione non dovrebbe procedere.

Parametri
config IConfiguration : la IConfiguration corrente.

testInfo TestInformation : TestInformation che contiene le informazioni sui test.

rescheduler IRescheduler : IRescheduler

logger ITestLogger

ritorna
boolean true se il test è stato partizionato. Altrimenti restituisce false

Metodi protetti

splitTest

protected  splitTests ( fullList, 
                int shardCount, 
                boolean useEvenModuleSharding)

Dividere l'elenco dei test da eseguire nel modo ritenuto opportuno dall'implementazione. Lo sharding deve essere coerente. È accettabile restituire un elenco vuoto se non è possibile eseguire test nello shard.

Implementarlo per fornire uno sharding specifico della suite di test. L'implementazione predefinita tenta di bilanciare il più possibile il numero di IRemoteTest per shard come primo passaggio, quindi utilizza un criterio minore o un suggerimento di esecuzione per modificare ulteriormente gli elenchi.

Parametri
fullList : l'elenco completo iniziale di IRemoteTest contenente tutti i test che è necessario eseguire.

shardCount int : il numero totale di shard che devono essere eseguiti.

useEvenModuleSharding boolean : se utilizzare una strategia che distribuisca uniformemente il numero di moduli tra i frammenti

ritorna
un elenco di elenchi IRemoteTest assegnati a ogni shard. La dimensione dell'elenco sarà shardCount.