ModuleDefinition

public class ModuleDefinition
extends Object implements Comparable<ModuleDefinition>, ITestCollector

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


Container for the test run configuration. This class is an helper to prepare and run the tests.

Summary

Constants

String MODULE_ABI

String MODULE_CONTROLLER

String MODULE_ID

Module ID the name that will be used to identify uniquely the module during testRunStart.

String MODULE_NAME

Module name is the base name associated with the module, usually coming from the Xml TF config file the module was loaded from.

String PREPARATION_TIME

String TEAR_DOWN_TIME

String TEST_TIME

Public constructors

ModuleDefinition(String name, Collection<IRemoteTest> tests, Map<String, List<ITargetPreparer>> preparersPerDevice, List<IMultiTargetPreparer> multiPreparers, IConfiguration moduleConfig)

Constructor

Public methods

int compareTo(ModuleDefinition moduleDef)

String getId()

Return the unique module name.

IInvocationContext getModuleInvocationContext()

Returns the IInvocationContext associated with the module.

long getRuntimeHint()

Returns the approximate time to run all the tests in the module.

boolean hasModuleFailed()

Returns True if a testRunFailure has been called on the module *

int numTests()

Returns the current number of IRemoteTest waiting to be executed.

final void run(ITestInvocationListener listener, List<ITestInvocationListener> moduleLevelListeners, TestFailureListener failureListener, int maxRunLimit)

Run all the IRemoteTest contained in the module and use all the preparers before and after to setup and clean the device.

final void run(ITestInvocationListener listener)

Run all the IRemoteTest contained in the module and use all the preparers before and after to setup and clean the device.

final void run(ITestInvocationListener listener, List<ITestInvocationListener> moduleLevelListeners, TestFailureListener failureListener)

Run all the IRemoteTest contained in the module and use all the preparers before and after to setup and clean the device.

void setBuild(IBuildInfo build)

Inject the IBuildInfo to be used during the tests.

void setCollectTestsOnly(boolean collectTestsOnly)

Enables or disables test collection mode

void setDevice(ITestDevice device)

Inject the ITestDevice to be used during the tests.

void setDeviceInfos(Map<ITestDeviceIBuildInfo> deviceInfos)

Inject the Map of ITestDevice and IBuildInfo for the configuration.

void setLogSaver(ILogSaver logSaver)

Pass the invocation log saver to the module so it can use it if necessary.

void setMetricCollectors(List<IMetricCollector> collectors)

Inject the List of IMetricCollector to be used by the module.

String toString()

Protected methods

boolean hasTests()

Return True if the Module still has IRemoteTest to run in its pool.

Constants

MODULE_ABI

public static final String MODULE_ABI

Constant Value: "module-abi"

MODULE_CONTROLLER

public static final String MODULE_CONTROLLER

Constant Value: "module_controller"

MODULE_ID

public static final String MODULE_ID

Module ID the name that will be used to identify uniquely the module during testRunStart. It will usually be a combination of MODULE_ABI + MODULE_NAME.

Constant Value: "module-id"

MODULE_NAME

public static final String MODULE_NAME

Module name is the base name associated with the module, usually coming from the Xml TF config file the module was loaded from.

Constant Value: "module-name"

PREPARATION_TIME

public static final String PREPARATION_TIME

Constant Value: "PREP_TIME"

TEAR_DOWN_TIME

public static final String TEAR_DOWN_TIME

Constant Value: "TEARDOWN_TIME"

TEST_TIME

public static final String TEST_TIME

Constant Value: "TEST_TIME"

Public constructors

ModuleDefinition

public ModuleDefinition (String name, 
                Collection<IRemoteTest> tests, 
                Map<String, List<ITargetPreparer>> preparersPerDevice, 
                List<IMultiTargetPreparer> multiPreparers, 
                IConfiguration moduleConfig)

Constructor

Parameters
name String: unique name of the test configuration.

tests Collection: list of IRemoteTest that needs to run.

preparersPerDevice Map: list of ITargetPreparer to be used to setup the device.

multiPreparers List

moduleConfig IConfiguration: the IConfiguration of the underlying module config.

Public methods

compareTo

public int compareTo (ModuleDefinition moduleDef)

Parameters
moduleDef ModuleDefinition

Returns
int

getId

public String getId ()

Return the unique module name.

Returns
String

getModuleInvocationContext

public IInvocationContext getModuleInvocationContext ()

Returns the IInvocationContext associated with the module.

Returns
IInvocationContext

getRuntimeHint

public long getRuntimeHint ()

Returns the approximate time to run all the tests in the module.

Returns
long

hasModuleFailed

public boolean hasModuleFailed ()

Returns True if a testRunFailure has been called on the module *

Returns
boolean

numTests

public int numTests ()

Returns the current number of IRemoteTest waiting to be executed.

Returns
int

run

public final void run (ITestInvocationListener listener, 
                List<ITestInvocationListener> moduleLevelListeners, 
                TestFailureListener failureListener, 
                int maxRunLimit)

Run all the IRemoteTest contained in the module and use all the preparers before and after to setup and clean the device.

Parameters
listener ITestInvocationListener: the ITestInvocationListener where to report results.

moduleLevelListeners List: The list of listeners at the module level.

failureListener TestFailureListener: a particular listener to collect logs on testFail. Can be null.

maxRunLimit int: the max number of runs for each testcase.

Throws
DeviceNotAvailableException in case of device going offline.

run

public final void run (ITestInvocationListener listener)

Run all the IRemoteTest contained in the module and use all the preparers before and after to setup and clean the device.

Parameters
listener ITestInvocationListener: the ITestInvocationListener where to report results.

Throws
DeviceNotAvailableException in case of device going offline.

run

public final void run (ITestInvocationListener listener, 
                List<ITestInvocationListener> moduleLevelListeners, 
                TestFailureListener failureListener)

Run all the IRemoteTest contained in the module and use all the preparers before and after to setup and clean the device.

Parameters
listener ITestInvocationListener: the ITestInvocationListener where to report results.

moduleLevelListeners List: The list of listeners at the module level.

failureListener TestFailureListener: a particular listener to collect logs on testFail. Can be null.

Throws
DeviceNotAvailableException in case of device going offline.

setBuild

public void setBuild (IBuildInfo build)

Inject the IBuildInfo to be used during the tests.

Parameters
build IBuildInfo

setCollectTestsOnly

public void setCollectTestsOnly (boolean collectTestsOnly)

Enables or disables test collection mode

setDevice

public void setDevice (ITestDevice device)

Inject the ITestDevice to be used during the tests.

Parameters
device ITestDevice

setDeviceInfos

public void setDeviceInfos (Map<ITestDeviceIBuildInfo> deviceInfos)

Inject the Map of ITestDevice and IBuildInfo for the configuration.

Parameters
deviceInfos Map

setLogSaver

public void setLogSaver (ILogSaver logSaver)

Pass the invocation log saver to the module so it can use it if necessary.

Parameters
logSaver ILogSaver

setMetricCollectors

public void setMetricCollectors (List<IMetricCollector> collectors)

Inject the List of IMetricCollector to be used by the module.

Parameters
collectors List

toString

public String toString ()

Returns
String

Protected methods

hasTests

protected boolean hasTests ()

Return True if the Module still has IRemoteTest to run in its pool. False otherwise.

Returns
boolean