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

Constants

long AVAILABILITY_CHECK_TIMEOUT

Fields

public static final String COMMAND_ARGS_KEY

Key of the command line args attributes

public static final String INVOCATION_EXTERNAL_DEPENDENCIES

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 notifyInvocationForceStopped(String message, ErrorIdentifier errorId)

Notify the TestInvocation that TradeFed has been requested to stop.

void notifyInvocationStopped(String message)

Notify the TestInvocation that TradeFed will eventually shutdown.

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

Prints a delimiter for a given Stage of the invocation.

void registerExecutionFiles(ExecutionFiles executionFiles)
void setClearcutClient(ClearcutClient client)

Forward the clearcut client to report metrics.

static boolean shouldSkipBugreportError(Throwable t)

Helper method that identifies errors when the bugreport should be skipped

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.

Constants

AVAILABILITY_CHECK_TIMEOUT

public static final long AVAILABILITY_CHECK_TIMEOUT

Constant Value: 180000 (0x000000000002bf20)

Fields

COMMAND_ARGS_KEY

public static final String COMMAND_ARGS_KEY

Key of the command line args attributes

INVOCATION_EXTERNAL_DEPENDENCIES

public static final String INVOCATION_EXTERNAL_DEPENDENCIES

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

notifyInvocationForceStopped

public void notifyInvocationForceStopped (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: Identifier associated with the forced stop

notifyInvocationStopped

public void notifyInvocationStopped (String message)

Notify the TestInvocation that TradeFed will eventually shutdown.

Parameters
message String: The message associated with stopping the invocation

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

setClearcutClient

public void setClearcutClient (ClearcutClient client)

Forward the clearcut client to report metrics.

Parameters
client ClearcutClient

shouldSkipBugreportError

public static boolean shouldSkipBugreportError (Throwable t)

Helper method that identifies errors when the bugreport should be skipped

Parameters
t Throwable

Returns
boolean

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