StrictShardHelper

public class StrictShardHelper
extends ShardHelper

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


Estrategia de fragmentación para crear fragmentos estrictos que no se informen juntos

Resumen

Constructores públicos

StrictShardHelper()

Métodos públicos

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

Intenta fragmentar la configuración en subconfiguraciones para que se vuelvan a programar y se ejecuten en varios recursos de forma paralela.

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)

Divide la lista de pruebas para ejecutarla como lo considere adecuado la implementación.

Constructores públicos

StrictShardHelper

public StrictShardHelper ()

Métodos públicos

shardConfig

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

Intenta fragmentar la configuración en subconfiguraciones para que se vuelvan a programar y se ejecuten en varios recursos de forma paralela.

Una acción de fragmentación exitosa deja la configuración actual vacía, y no debe continuar la invocación.

Parámetros
config IConfiguration: Es el IConfiguration actual.

testInfo TestInformation: Es el TestInformation que contiene la información de las pruebas.

rescheduler IRescheduler: El IRescheduler

logger ITestLogger

Muestra
boolean Es verdadero si la prueba se fragmentó. De lo contrario, devuelve 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

Muestra
boolean

shardConfigInternal

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

Parámetros
config IConfiguration

testInfo TestInformation

rescheduler IRescheduler

logger ITestLogger

Muestra
boolean

splitTests

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

Divide la lista de pruebas para ejecutarla como lo considere adecuado la implementación. La fragmentación debe ser coherente. Se acepta devolver una lista vacía si no se pueden ejecutar pruebas en la partición.

Implementa esto para proporcionar una fragmentación específica del paquete de pruebas. La implementación predeterminada intenta equilibrar la cantidad de IRemoteTest por fragmento tanto como sea posible como primer paso y, luego, usa un criterio secundario o una sugerencia de ejecución para ajustar las listas un poco más.

Parámetros
fullList List: Es la lista completa inicial de IRemoteTest que contiene todas las pruebas que se deben ejecutar.

shardCount int: Es la cantidad total de fragmentos que se deben ejecutar.

useEvenModuleSharding boolean: Indica si se debe usar una estrategia que distribuya de manera uniforme la cantidad de módulos entre los fragmentos.

Muestra
List<List<IRemoteTest>> Es una lista de objetos IRemoteTest que se asignaron a cada fragmento. El tamaño de la lista será shardCount.