ITestInvocation

public interface ITestInvocation

com.android.tradefed.invoker.ITestInvocation
Known Indirect Subclasses
TestInvocation Default implementation of ITestInvocation


Handles one TradeFederation test invocation.

Summary

Public methods

default void cleanUpBuilds(IInvocationContext context, IConfiguration config)

Execute the build_provider clean up step.

default void doCleanUp(IInvocationContext context, IConfiguration config, Throwable exception)

Execute the target_preparer and multi_target_preparer cleanUp step.

default void doSetup(IInvocationContext context, IConfiguration config, ITestInvocationListener listener)

Execute the target_preparer and multi_target_preparer setUp step.

default void doTeardown(IInvocationContext context, IConfiguration config, Throwable exception)

Execute the target_preparer and multi_target_preparer teardown step.

default boolean fetchBuild(IInvocationContext context, IConfiguration config, IRescheduler rescheduler, ITestInvocationListener listener)

Execute the build_provider step of the invocation.

abstract void invoke(IInvocationContext metadata, IConfiguration config, IRescheduler rescheduler, ITestInvocationListener... extraListeners)

Perform the test invocation.

default void notifyInvocationStopped()

Notify the TestInvocation that TradeFed has been requested to stop.

default boolean shardConfig(IConfiguration config, IInvocationContext context, IRescheduler rescheduler)

Attempt to shard the configuration into sub-configurations, to be re-scheduled to run on multiple resources in parallel.

Public methods

cleanUpBuilds

void cleanUpBuilds (IInvocationContext context, 
                IConfiguration config)

Execute the build_provider clean up step. Associated with the build fetching.

Parameters
context IInvocationContext: the IInvocationContext of the invocation.

config IConfiguration: the IConfiguration of this test run.

doCleanUp

void doCleanUp (IInvocationContext context, 
                IConfiguration config, 
                Throwable exception)

Execute the target_preparer and multi_target_preparer cleanUp step. Does the devices clean up.

Parameters
context IInvocationContext: the IInvocationContext of the invocation.

config IConfiguration: the IConfiguration of this test run.

exception Throwable: the original exception thrown by the test running.

doSetup

void doSetup (IInvocationContext context, 
                IConfiguration config, 
                ITestInvocationListener listener)

Execute the target_preparer and multi_target_preparer setUp step. Does all the devices setup required for the test to run.

Parameters
context IInvocationContext: the IInvocationContext of the invocation.

config IConfiguration: the IConfiguration of this test run.

listener ITestInvocationListener: the ITestInvocation to report setup failures.

Throws
TargetSetupError
BuildError
DeviceNotAvailableException
TargetSetupError
BuildError

doTeardown

void doTeardown (IInvocationContext context, 
                IConfiguration config, 
                Throwable exception)

Execute the target_preparer and multi_target_preparer teardown step. Does the devices tear down associated with the setup.

Parameters
context IInvocationContext: the IInvocationContext of the invocation.

config IConfiguration: the IConfiguration of this test run.

exception Throwable: the original exception thrown by the test running.

Throws
Throwable

fetchBuild

boolean fetchBuild (IInvocationContext context, 
                IConfiguration config, 
                IRescheduler rescheduler, 
                ITestInvocationListener listener)

Execute the build_provider step of the invocation.

Parameters
context IInvocationContext: the IInvocationContext of the invocation.

config IConfiguration: the IConfiguration of this test run.

rescheduler IRescheduler: the IRescheduler, for rescheduling portions of the invocation for execution on another resource(s)

listener ITestInvocationListener: the ITestInvocation to report build download failures.

Returns
boolean True if we successfully downloaded the build, false otherwise.

Throws
DeviceNotAvailableException

invoke

void invoke (IInvocationContext metadata, 
                IConfiguration config, 
                IRescheduler rescheduler, 
                ITestInvocationListener... extraListeners)

Perform the test invocation.

Parameters
metadata IInvocationContext: the IInvocationContext to perform tests.

config IConfiguration: the IConfiguration of this test run.

rescheduler IRescheduler: the IRescheduler, for rescheduling portions of the invocation for execution on another resource(s)

extraListeners ITestInvocationListener: ITestInvocationListeners to notify, in addition to those in config

Throws
DeviceNotAvailableException if communication with device was lost
Throwable

notifyInvocationStopped

void notifyInvocationStopped ()

Notify the TestInvocation that TradeFed has been requested to stop.

shardConfig

boolean shardConfig (IConfiguration config, 
                IInvocationContext context, 
                IRescheduler rescheduler)

Attempt to shard the configuration into sub-configurations, to be re-scheduled to run on multiple resources in parallel.

If a shard count is greater than 1, it will simply create configs for each shard by setting shard indices and reschedule them. If a shard count is not set,it would fallback to shardConfig(IConfiguration, IInvocationContext, IRescheduler).

Parameters
config IConfiguration: the current IConfiguration.

context IInvocationContext: the IInvocationContext holding the info of the tests.

rescheduler IRescheduler: the IRescheduler

Returns
boolean true if test was sharded. Otherwise return false