ShardListener
public
class
ShardListener
extends CollectingTestListener
implements
ISupportGranularResults
java.lang.Object | ||
↳ | com.android.tradefed.result.CollectingTestListener | |
↳ | com.android.tradefed.invoker.ShardListener |
A ITestInvocationListener
that collects results from a invocation shard (aka an
invocation split to run on multiple resources in parallel), and forwards them to another
listener.
Summary
Public constructors | |
---|---|
ShardListener(ITestInvocationListener main)
Create a |
Public methods | |
---|---|
|
getUnderlyingResultReporter()
|
void
|
invocationEnded(long elapsedTime)
Reports that the invocation has terminated, whether successfully or due to some error condition. |
void
|
invocationFailed(FailureDescription failure)
Reports an incomplete invocation due to some error condition. |
void
|
invocationFailed(Throwable cause)
Reports an incomplete invocation due to some error condition. |
void
|
invocationSkipped(SkipReason reason)
Reports an invocation as skipped |
void
|
invocationStarted(IInvocationContext context)
Reports the start of the test invocation. |
void
|
logAssociation(String dataName, LogFile logFile)
In some cases, log must be strongly associated with a test cases, but the opportunity to do
so on the direct |
void
|
setSupportGranularResults(boolean enableGranularResults)
|
boolean
|
supportGranularResults()
Returns True if the reporter support granular results, false otherwise. |
void
|
testLog(String dataName, LogDataType dataType, InputStreamSource dataStream)
Provides the associated log or debug data from the test invocation. |
void
|
testLogSaved(String dataName, LogDataType dataType, InputStreamSource dataStream, LogFile logFile)
|
void
|
testModuleEnded()
Reports the end of a module run. |
void
|
testModuleStarted(IInvocationContext moduleContext)
Reports the beginning of a module running. |
void
|
testRunEnded(long elapsedTime,
Reports end of test run. |
void
|
testRunFailed(FailureDescription failure)
Reports test run failed to complete due to a failure described by |
void
|
testRunFailed(String failureMessage)
Reports test run failed to complete due to a fatal error. |
void
|
testRunStarted(String name, int numTests, int attemptNumber, long startTime)
Reports the start of a test run. |
Public constructors
ShardListener
public ShardListener (ITestInvocationListener main)
Create a ShardListener
.
Parameters | |
---|---|
main |
ITestInvocationListener : the ITestInvocationListener the results should be forwarded. To prevent
collisions with other ShardListener s, this object will synchronize on
main when forwarding results. And results will only be sent once the
invocation shard completes. |
Public methods
getUnderlyingResultReporter
publicgetUnderlyingResultReporter ()
Returns | |
---|---|
|
invocationEnded
public void invocationEnded (long elapsedTime)
Reports that the invocation has terminated, whether successfully or due to some error condition.
Will be automatically called by the TradeFederation framework.Parameters | |
---|---|
elapsedTime |
long : the elapsed time of the invocation in ms |
invocationFailed
public void invocationFailed (FailureDescription failure)
Reports an incomplete invocation due to some error condition.
Will be automatically called by the TradeFederation framework.
Parameters | |
---|---|
failure |
FailureDescription : the FailureDescription describing the cause of the failure |
invocationFailed
public void invocationFailed (Throwable cause)
Reports an incomplete invocation due to some error condition.
Will be automatically called by the TradeFederation framework.Parameters | |
---|---|
cause |
Throwable : the Throwable cause of the failure |
invocationSkipped
public void invocationSkipped (SkipReason reason)
Reports an invocation as skipped
Parameters | |
---|---|
reason |
SkipReason |
invocationStarted
public void invocationStarted (IInvocationContext context)
Reports the start of the test invocation.
Will be automatically called by the TradeFederation framework. Reporters need to override this method to support multiple devices reporting.
Parameters | |
---|---|
context |
IInvocationContext : information about the invocation |
logAssociation
public void logAssociation (String dataName, LogFile logFile)
In some cases, log must be strongly associated with a test cases, but the opportunity to do
so on the direct testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile)
callback is not possible. Thus, this callback allows to provide a strong association
explicitly.
Parameters | |
---|---|
dataName |
String : The name of the data |
logFile |
LogFile : the LogFile that was logged before and should be associated with the
test case. |
setSupportGranularResults
public void setSupportGranularResults (boolean enableGranularResults)
Parameters | |
---|---|
enableGranularResults |
boolean |
supportGranularResults
public boolean supportGranularResults ()
Returns True if the reporter support granular results, false otherwise.
Returns | |
---|---|
boolean |
testLog
public void testLog (String dataName, LogDataType dataType, InputStreamSource dataStream)
Provides the associated log or debug data from the test invocation.
Must be called beforeERROR(/ITestInvocationListener#invocationFailed(Throwable))
or
ERROR(/ITestInvocationListener#invocationEnded(long))
The TradeFederation framework will automatically call this method, providing the host log
and if applicable, the device logcat.
Parameters | |
---|---|
dataName |
String : a String descriptive name of the data. e.g. "device_logcat". Note
dataName may not be unique per invocation. ie implementers must be able to handle
multiple calls with same dataName |
dataType |
LogDataType : the LogDataType of the data |
dataStream |
InputStreamSource : the InputStreamSource of the data. Implementers should call
createInputStream to start reading the data, and ensure to close the resulting
InputStream when complete. Callers should ensure the source of the data remains
present and accessible until the testLog method completes. |
testLogSaved
public void testLogSaved (String dataName, LogDataType dataType, InputStreamSource dataStream, LogFile logFile)
Parameters | |
---|---|
dataName |
String |
dataType |
LogDataType |
dataStream |
InputStreamSource |
logFile |
LogFile |
testModuleEnded
public void testModuleEnded ()
Reports the end of a module run.
testModuleStarted
public void testModuleStarted (IInvocationContext moduleContext)
Reports the beginning of a module running. This callback is associated with testModuleEnded()
and is optional in the sequence. It is only used during a run that uses
modules: suite based runners.
Parameters | |
---|---|
moduleContext |
IInvocationContext : the IInvocationContext of the module. |
testRunEnded
public void testRunEnded (long elapsedTime,runMetrics)
Reports end of test run. FIXME: We cannot have two Map<> interfaces with different type, so we have to use HashMap here.
Parameters | |
---|---|
elapsedTime |
long : device reported elapsed time, in milliseconds |
runMetrics |
: key-value pairs reported at the end of a test run with Metric . |
testRunFailed
public void testRunFailed (FailureDescription failure)
Reports test run failed to complete due to a failure described by FailureDescription
.
Parameters | |
---|---|
failure |
FailureDescription : FailureDescription describing the failure and its context. |
testRunFailed
public void testRunFailed (String failureMessage)
Reports test run failed to complete due to a fatal error.
Parameters | |
---|---|
failureMessage |
String : String describing reason for run failure. |
testRunStarted
public void testRunStarted (String name, int numTests, int attemptNumber, long startTime)
Reports the start of a test run.
Parameters | |
---|---|
name |
String : the test run name |
numTests |
int : total number of tests in test run |
attemptNumber |
int : order number, identifying the different attempts of the same runName
that run multiple times. The attemptNumber is 0-indexed and should increment everytime a
new run happens. e.g. A test is granular retried 3 times, it should have 4 total runs
under the same runName and the attemptNumber is from 0 to 3. |
startTime |
long : the time the run started, measured via System.currentTimeMillis() |