TestInvocation

public class TestInvocation
extends Object implements ITestInvocation

java.lang.Object
   ↳ com.android.tradefed.invoker.TestInvocation


Default implementation of ITestInvocation.

Loads major objects based on IConfiguration - retrieves build - prepares target - runs tests - reports results

Summary

Nested classes

enum TestInvocation.RunMode

The different mode an invocation can run into. 

enum TestInvocation.Stage

 

Fields

public static final String COMMAND_ARGS_KEY

Key of the command line args attributes

public static final String TRADEFED_CONFIG_NAME

public static final String TRADEFED_END_HOST_LOG

public static final String TRADEFED_INVOC_COMPLETE_HOST_LOG

public static final String TRADEFED_LOG_NAME

Public constructors

TestInvocation()

Public methods

static IBuildInfo backFillBuildInfoForReporting(String commandLine)

Helper that use the command line to backfill a IBuildInfo for reporting in case of download failure.

static FailureDescription createFailureFromException(Throwable exception, TestRecordProto.FailureStatus defaultStatus)

Create a FailureDescription from an invocation exception.

IInvocationExecution createInvocationExec(TestInvocation.RunMode mode)

Create the invocation path that should be followed.

static String getDeviceLogName(TestInvocation.Stage stage)
static String getEmulatorLogName(TestInvocation.Stage stage)
ITestInvocation.ExitInformation getExitInfo()

The exit information of the given invocation.

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

Perform the test invocation.

static boolean isSubprocess(IConfiguration config)

Returns true if the invocation is currently within a subprocess scope.

void notifyInvocationStopped(String message, ErrorIdentifier errorId)

Notify the TestInvocation that TradeFed has been requested to stop.

static void printStageDelimiter(TestInvocation.Stage phase, boolean end)

Prints a delimiter for a given Stage of the invocation.

void registerExecutionFiles(ExecutionFiles executionFiles)
String toString()

Protected methods

void addInvocationMetric(InvocationMetricLogger.InvocationMetricKey key, String value)
void addInvocationMetric(InvocationMetricLogger.InvocationMetricKey key, long value)
void applyAutomatedReporters(IConfiguration config)
void setExitCode(CommandRunner.ExitCode code, Throwable stack)

Helper to set the exit code.

Fields

COMMAND_ARGS_KEY

public static final String COMMAND_ARGS_KEY

Key of the command line args attributes

TRADEFED_CONFIG_NAME

public static final String TRADEFED_CONFIG_NAME

TRADEFED_END_HOST_LOG

public static final String TRADEFED_END_HOST_LOG

TRADEFED_INVOC_COMPLETE_HOST_LOG

public static final String TRADEFED_INVOC_COMPLETE_HOST_LOG

TRADEFED_LOG_NAME

public static final String TRADEFED_LOG_NAME

Public constructors

TestInvocation

public TestInvocation ()

Public methods

backFillBuildInfoForReporting

public static IBuildInfo backFillBuildInfoForReporting (String commandLine)

Helper that use the command line to backfill a IBuildInfo for reporting in case of download failure.

Parameters
commandLine String

Returns
IBuildInfo

createFailureFromException

public static FailureDescription createFailureFromException (Throwable exception, 
                TestRecordProto.FailureStatus defaultStatus)

Create a FailureDescription from an invocation exception.

Parameters
exception Throwable: The exception to convert

defaultStatus TestRecordProto.FailureStatus: The status to use by default if the exception is not a IHarnessException.

Returns
FailureDescription

createInvocationExec

public IInvocationExecution createInvocationExec (TestInvocation.RunMode mode)

Create the invocation path that should be followed.

Parameters
mode TestInvocation.RunMode: The mode we are currently running as.

Returns
IInvocationExecution The IInvocationExecution describing the invocation.

getDeviceLogName

public static String getDeviceLogName (TestInvocation.Stage stage)

Parameters
stage TestInvocation.Stage

Returns
String

getEmulatorLogName

public static String getEmulatorLogName (TestInvocation.Stage stage)

Parameters
stage TestInvocation.Stage

Returns
String

getExitInfo

public ITestInvocation.ExitInformation getExitInfo ()

The exit information of the given invocation.

Returns
ITestInvocation.ExitInformation

invoke

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

Perform the test invocation.

Parameters
context 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

isSubprocess

public static boolean isSubprocess (IConfiguration config)

Returns true if the invocation is currently within a subprocess scope.

Parameters
config IConfiguration

Returns
boolean

notifyInvocationStopped

public void notifyInvocationStopped (String message, 
                ErrorIdentifier errorId)

Notify the TestInvocation that TradeFed has been requested to stop.

Parameters
message String: The message associated with stopping the invocation

errorId ErrorIdentifier

printStageDelimiter

public static void printStageDelimiter (TestInvocation.Stage phase, 
                boolean end)

Prints a delimiter for a given Stage of the invocation.

Parameters
phase TestInvocation.Stage

end boolean

registerExecutionFiles

public void registerExecutionFiles (ExecutionFiles executionFiles)

Parameters
executionFiles ExecutionFiles

toString

public String toString ()

Returns
String

Protected methods

addInvocationMetric

protected void addInvocationMetric (InvocationMetricLogger.InvocationMetricKey key, 
                String value)

Parameters
key InvocationMetricLogger.InvocationMetricKey

value String

addInvocationMetric

protected void addInvocationMetric (InvocationMetricLogger.InvocationMetricKey key, 
                long value)

Parameters
key InvocationMetricLogger.InvocationMetricKey

value long

applyAutomatedReporters

protected void applyAutomatedReporters (IConfiguration config)

Parameters
config IConfiguration

setExitCode

protected void setExitCode (CommandRunner.ExitCode code, 
                Throwable stack)

Helper to set the exit code. Exposed for testing.

Parameters
code CommandRunner.ExitCode

stack Throwable