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)
splitTests( 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  splitTests ( fullList, 
                int shardCount, 
                boolean useEvenModuleSharding)

按实现方认为合适的方式拆分要运行的测试列表。分片需要保持一致。如果无法在分片中运行任何测试,则可以返回空列表。

实现此方法可提供特定于测试套件的分片。默认实现会先尝试尽可能平衡每个分片中的 IRemoteTest 数量,然后使用次要条件或运行提示进一步调整列表。

参数
fullList IRemoteTest 的初始完整列表,其中包含需要运行的所有测试。

shardCount int:需要运行的分片总数。

useEvenModuleSharding boolean:是否使用在分片中均匀分配模块数量的策略

返回
已分配给每个分片的列表 IRemoteTest 的列表。列表大小将为 shardCount。