ModuleSplitter

public class ModuleSplitter
extends Object

java.lang.Object
   ↳ com.android.tradefed.testtype.suite.ModuleSplitter


Helper to split a list of modules represented by IConfiguration into a list of execution units represented by ModuleDefinition.

Each configuration may generate 1 or more ModuleDefinition depending on its options and test types:

Summary

Public constructors

ModuleSplitter()

Public methods

static List<ModuleDefinition> splitConfiguration(TestInformation testInfo, LinkedHashMap<String, IConfiguration> runConfig, Map<String, List<ITargetPreparer>> suitePreparersPerDevice, int shardCount, boolean dynamicModule, boolean intraModuleSharding)

Create a List of executable unit ModuleDefinitions based on the map of configuration that was loaded.

Public constructors

ModuleSplitter

public ModuleSplitter ()

Public methods

splitConfiguration

public static List<ModuleDefinition> splitConfiguration (TestInformation testInfo, 
                LinkedHashMap<String, IConfiguration> runConfig, 
                Map<String, List<ITargetPreparer>> suitePreparersPerDevice, 
                int shardCount, 
                boolean dynamicModule, 
                boolean intraModuleSharding)

Create a List of executable unit ModuleDefinitions based on the map of configuration that was loaded.

Parameters
testInfo TestInformation: the current TestInformation to proceed with sharding.

runConfig LinkedHashMap: LinkedHashMap loaded from ITestSuite.loadTests().

suitePreparersPerDevice Map: map of suite level preparers per test device.

shardCount int: a shard count hint to help with sharding.

dynamicModule boolean: Whether or not module can be shared in pool or must be independent (strict sharding).

intraModuleSharding boolean: Whether or not to shard within the modules.

Returns
List<ModuleDefinition> List of ModuleDefinition