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 TestInformationTestInformation 舉辦測驗的機構。

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。