IInvocationExecution
public
interface
IInvocationExecution
com.android.tradefed.invoker.IInvocationExecution |
Interface describing the actions that will be done as part of an invocation. The invocation
TestInvocation
itself ensure the order of the calls.
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(TestInformation testInfo, IConfiguration config, ITestLogger logger)
Execute the target_preparer and multi_target_preparer setUp step. |
default
void
|
doTeardown(TestInformation testInfo, IConfiguration config, ITestLogger logger, Throwable exception)
Execute the target_preparer and multi_target_preparer teardown step. |
default
boolean
|
fetchBuild(TestInformation testInfo, IConfiguration config, IRescheduler rescheduler, ITestInvocationListener listener)
Execute the build_provider step of the invocation. |
abstract
void
|
reportLogs(ITestDevice device, ITestLogger logger, TestInvocation.Stage stage)
Report some device logs at different stage of the invocation. |
default
void
|
runDevicePostInvocationTearDown(IInvocationContext context, IConfiguration config, Throwable exception)
Invoke the |
default
void
|
runDevicePreInvocationSetup(IInvocationContext context, IConfiguration config, ITestLogger logger)
Invoke the |
default
void
|
runTests(TestInformation info, IConfiguration config, ITestInvocationListener listener)
Runs the test. |
default
boolean
|
shardConfig(IConfiguration config, TestInformation testInfo, IRescheduler rescheduler, ITestLogger logger)
Attempt to shard the configuration into sub-configurations, to be re-scheduled to run on multiple resources in parallel. |
Public methods
cleanUpBuilds
public 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
public 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
public void doSetup (TestInformation testInfo, IConfiguration config, ITestLogger logger)
Execute the target_preparer and multi_target_preparer setUp step. Does all the devices setup required for the test to run.
Parameters | |
---|---|
testInfo |
TestInformation : the TestInformation of the invocation. |
config |
IConfiguration : the IConfiguration of this test run. |
logger |
ITestLogger : the ITestLogger to report setup failures logs. |
Throws | |
---|---|
|
com.android.tradefed.targetprep.TargetSetupError |
|
com.android.tradefed.targetprep.BuildError |
|
com.android.tradefed.device.DeviceNotAvailableException |
BuildError |
|
DeviceNotAvailableException |
|
TargetSetupError |
doTeardown
public void doTeardown (TestInformation testInfo, IConfiguration config, ITestLogger logger, Throwable exception)
Execute the target_preparer and multi_target_preparer teardown step. Does the devices tear down associated with the setup.
Parameters | |
---|---|
testInfo |
TestInformation : the TestInformation of the invocation. |
config |
IConfiguration : the IConfiguration of this test run. |
logger |
ITestLogger : the ITestLogger to report logs. |
exception |
Throwable : the original exception thrown by the test running. |
Throws | |
---|---|
|
Throwable |
fetchBuild
public boolean fetchBuild (TestInformation testInfo, IConfiguration config, IRescheduler rescheduler, ITestInvocationListener listener)
Execute the build_provider step of the invocation.
Parameters | |
---|---|
testInfo |
TestInformation : the TestInformation 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 | |
---|---|
|
com.android.tradefed.build.BuildRetrievalError |
|
com.android.tradefed.device.DeviceNotAvailableException |
BuildRetrievalError |
|
DeviceNotAvailableException |
reportLogs
public abstract void reportLogs (ITestDevice device, ITestLogger logger, TestInvocation.Stage stage)
Report some device logs at different stage of the invocation. For example: logcat.
Parameters | |
---|---|
device |
ITestDevice : The device to report logs from. |
logger |
ITestLogger : The logger for the logs. |
stage |
TestInvocation.Stage : The stage of the invocation we are at. |
runDevicePostInvocationTearDown
public void runDevicePostInvocationTearDown (IInvocationContext context, IConfiguration config, Throwable exception)
Invoke the ITestDevice#postInvocationTearDown(Throwable)
for each device part of the
invocation.
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 if any. |
runDevicePreInvocationSetup
public void runDevicePreInvocationSetup (IInvocationContext context, IConfiguration config, ITestLogger logger)
Invoke the ERROR(ITestDevice#preInvocationSetup(IBuildInfo)/com.android.tradefed.device.ITestDevice#preInvocationSetup(com.android.tradefed.build.IBuildInfo) ITestDevice#preInvocationSetup(IBuildInfo))
for each device part of the
invocation.
Parameters | |
---|---|
context |
IInvocationContext : the IInvocationContext of the invocation. |
config |
IConfiguration : the IConfiguration of this test run. |
logger |
ITestLogger : the ITestLogger to report logs. |
Throws | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
|
com.android.tradefed.targetprep.TargetSetupError |
DeviceNotAvailableException |
|
TargetSetupError |
runTests
public void runTests (TestInformation info, IConfiguration config, ITestInvocationListener listener)
Runs the test.
Parameters | |
---|---|
info |
TestInformation : the TestInformation to run tests with. |
config |
IConfiguration : the IConfiguration to run |
listener |
ITestInvocationListener : the ITestInvocationListener of test results |
Throws | |
---|---|
|
Throwable |
shardConfig
public boolean shardConfig (IConfiguration config, TestInformation testInfo, IRescheduler rescheduler, ITestLogger logger)
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
IShardHelper#shardConfig
.
Parameters | |
---|---|
config |
IConfiguration : the current IConfiguration . |
testInfo |
TestInformation : the TestInformation holding the info of the tests. |
rescheduler |
IRescheduler : the IRescheduler . |
logger |
ITestLogger : ITestLogger used to log file during sharding. |
Returns | |
---|---|
boolean |
true if test was sharded. Otherwise return false |