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 IReschedulerIRescheduler

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。