StrictShardHelper

public class StrictShardHelper
extends ShardHelper

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


Estratégia de fragmentação para criar fragmentos estritos que não geram relatórios juntos.

Resumo

Construtores públicos

StrictShardHelper()

Métodos públicos

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

Tente fragmentar a configuração em subconfigurações para serem reagendadas e executadas em vários recursos em paralelo.

Métodos protegidos

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)

Divida a lista de testes a serem executados da maneira que a implementação achar mais adequada.

Construtores públicos

StrictShardHelper

public StrictShardHelper ()

Métodos públicos

shardConfig

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

Tente fragmentar a configuração em subconfigurações para serem reagendadas e executadas em vários recursos em paralelo.

Uma ação de fragmentação bem-sucedida torna a configuração atual vazia, e a invocação não deve continuar.

Parâmetros
config IConfiguration: o IConfiguration atual.

testInfo TestInformation: o TestInformation que contém as informações dos testes.

rescheduler IRescheduler: o IRescheduler

logger ITestLogger

Retorna
boolean verdadeiro se o teste foi fragmentado. Caso contrário, retorne false.

Métodos protegidos

shardConfigDynamic

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

Parâmetros
config IConfiguration

testInfo TestInformation

rescheduler IRescheduler

logger ITestLogger

Retorna
boolean

shardConfigInternal

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

Parâmetros
config IConfiguration

testInfo TestInformation

rescheduler IRescheduler

logger ITestLogger

Retorna
boolean

splitTests

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

Divida a lista de testes a serem executados da maneira que a implementação achar mais adequada. A fragmentação precisa ser consistente. É aceitável retornar uma lista vazia se nenhum teste puder ser executado no fragmento.

Implemente isso para fornecer um sharding específico do pacote de testes. A implementação padrão tenta equilibrar o número de IRemoteTest por fragmentos o máximo possível como primeira etapa e, em seguida, usa um critério secundário ou uma dica de execução para ajustar um pouco mais as listas.

Parâmetros
fullList List: a lista completa inicial de IRemoteTest que contém todos os testes que precisam ser executados.

shardCount int: o número total de fragmentos que precisam ser executados.

useEvenModuleSharding boolean: se é necessário usar uma estratégia que distribua uniformemente o número de módulos entre os fragmentos.

Retorna
List<List<IRemoteTest>> uma lista de IRemoteTests de lista atribuídos a cada fragmento. O tamanho da lista será o shardCount.