StrictShardHelper

public class StrictShardHelper
extends ShardHelper

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


Strategia di partizionamento per creare partizioni rigide che non vengono segnalate insieme,

Riepilogo

Costruttori pubblici

StrictShardHelper()

Metodi pubblici

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

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

Metodi protetti

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)

Dividi l'elenco dei test da eseguire come meglio credi.

Costruttori pubblici

StrictShardHelper

public StrictShardHelper ()

Metodi pubblici

shardConfig

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

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

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

Parametri
config IConfiguration: il IConfiguration attuale.

testInfo TestInformation: l'TestInformation che contiene le informazioni sui test.

rescheduler IRescheduler: il IRescheduler

logger ITestLogger

Resi
boolean true se il test è stato suddiviso in shard. In caso contrario, restituisci false

Metodi protetti

shardConfigDynamic

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

Parametri
config IConfiguration

testInfo TestInformation

rescheduler IRescheduler

logger ITestLogger

Resi
boolean

shardConfigInternal

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

Parametri
config IConfiguration

testInfo TestInformation

rescheduler IRescheduler

logger ITestLogger

Resi
boolean

splitTests

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

Dividi l'elenco dei test da eseguire come meglio credi. Lo sharding deve essere coerente. È accettabile restituire un elenco vuoto se non è possibile eseguire test nello shard.

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

Parametri
fullList List: l'elenco completo iniziale di IRemoteTest contenente tutti i test da eseguire.

shardCount int: il numero totale di shard da eseguire.

useEvenModuleSharding boolean: indica se utilizzare una strategia che distribuisce uniformemente il numero di moduli tra gli shard

Resi
List<List<IRemoteTest>> Un elenco di elenchi IRemoteTest assegnati a ogni shard. La dimensione dell'elenco sarà shardCount.