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 shard rigorosi che non eseguono report insieme

Riepilogo

Costruttori pubblici

StrictShardHelper()

Metodi pubblici

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

Tenta di eseguire lo sharding della configurazione in sottoconfigurazioni, per riprogrammarla per l'esecuzione più risorse in parallelo.

Metodi protetti

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)

Suddividi l'elenco dei test da eseguire in base alle esigenze dell'implementazione.

Costruttori pubblici

StrictShardHelper

public StrictShardHelper ()

Metodi pubblici

shardConfig

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

Tenta di eseguire lo sharding della configurazione in sottoconfigurazioni, per riprogrammarla per l'esecuzione più risorse in parallelo.

Un'azione shard completata rende la configurazione corrente vuota e la chiamata non dovrebbe procedere.

Parametri
config IConfiguration: il valore attuale di IConfiguration.

testInfo TestInformation: il TestInformation che contiene le informazioni dei test.

rescheduler IRescheduler: IRescheduler

logger ITestLogger

Ritorni
boolean true se il test è stato eseguito con sharding. 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

Ritorni
boolean

shardConfigInternal

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

Parametri
config IConfiguration

testInfo TestInformation

rescheduler IRescheduler

logger ITestLogger

Ritorni
boolean

splitTest

protected  splitTests ( fullList, 
                int shardCount, 
                boolean useEvenModuleSharding)

Suddividi l'elenco dei test da eseguire in base alle esigenze dell'implementazione. Lo sharding deve essere coerente. È accettabile restituire un elenco vuoto se non è possibile eseguire test nello shard.

Implementa questa soluzione per fornire uno sharding specifico per una suite di test. Il valore predefinito cerca di bilanciare il più possibile il numero di IRemoteTest per shard come primo passo, poi usa un criterio minore o run-hint per modificare un po' ulteriormente gli elenchi.

Parametri
fullList : l'elenco iniziale completo di IRemoteTest contenente tutti i test che per l'esecuzione.

shardCount int: il numero totale di shard da eseguire.

useEvenModuleSharding boolean: se utilizzare una strategia che distribuisce in modo uniforme il numero di moduli negli shard

Ritorni
un elenco di elenchi IRemoteTest assegnati a ogni shard. Elenco sarà lo shardCount.