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。 |