StrictShardHelper

public class StrictShardHelper
extends ShardHelper

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


Стратегия шардирования для создания строгих шардов, которые не отправляют отчеты друг другу.

Краткое содержание

Государственные строители

StrictShardHelper ()

Общедоступные методы

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

Предпринята попытка разделить конфигурацию на подконфигурации для последующего параллельного выполнения на нескольких ресурсах.

Защищенные методы

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)

Разделите список тестов для запуска в соответствии с потребностями реализации.

Государственные строители

StrictShardHelper

public StrictShardHelper ()

Общедоступные методы

shardConfig

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

Предпринята попытка разделить конфигурацию на подконфигурации для последующего параллельного выполнения на нескольких ресурсах.

Успешное выполнение операции разделения на сегменты делает текущую конфигурацию пустой, и вызов не должен продолжаться.

Параметры
config IConfiguration : текущая IConfiguration .

testInfo TestInformation : объект TestInformation , содержащий информацию о тестах.

rescheduler IRescheduler : IRescheduler

logger ITestLogger

Возвраты
boolean Возвращает true, если тест был сегментирован. В противном случае возвращает false

Защищенные методы

shardConfigDynamic

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

Параметры
config IConfiguration

testInfo TestInformation

rescheduler IRescheduler

logger ITestLogger

Возвраты
boolean

shardConfigInternal

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

Параметры
config IConfiguration

testInfo TestInformation

rescheduler IRescheduler

logger ITestLogger

Возвраты
boolean

splitTests

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

Разделите список тестов для выполнения так, как сочтет нужным реализация. Разделение должно быть согласованным. Допустимо возвращать пустой список, если в данном сегменте невозможно выполнить ни одного теста.

Реализуйте это для обеспечения сегментирования, специфичного для каждого набора тестов. В реализации по умолчанию на первом этапе предпринимается попытка максимально сбалансировать количество IRemoteTest в каждом сегменте, а затем с помощью дополнительных критериев или подсказок запуска корректируются списки.

Параметры
fullList List : исходный полный список объектов IRemoteTest , содержащий все тесты, которые необходимо запустить.

shardCount int : общее количество сегментов, которые необходимо запустить.

useEvenModuleSharding boolean : следует ли использовать стратегию, которая равномерно распределяет количество модулей по шардам.

Возвраты
List<List< IRemoteTest >> Список объектов типа IRemoteTest , назначенных каждому сегменту. Размер списка будет равен shardCount.