ShardMainResultForwarder
  public
  
  
  
  class
  ShardMainResultForwarder
  
  
  
  
    extends ResultForwarder
  
  
  
  
  
      implements
      
        ILogSaverListener
      
  
  
| java.lang.Object | ||
| ↳ | com.android.tradefed.result.ResultForwarder | |
| ↳ | com.android.tradefed.invoker.ShardMainResultForwarder | |
A ResultForwarder that combines the results of a sharded test invocations. It only
 reports completion of the invocation to the listeners once all sharded invocations are complete.
 
This class is not thread safe. It is expected that clients will lock on this class when sending test results, to prevent invocation callbacks from being called out of order.
Summary
| Public constructors | |
|---|---|
| 
      ShardMainResultForwarder(Create a  | |
| Public methods | |
|---|---|
| 
        
        
        
        
        
         | 
      getListeners()
      Get the list of listeners. | 
| 
        
        
        
        
        
        void | 
      invocationEnded(long elapsedTime)
      Reports that the invocation has terminated, whether successfully or due to some error condition. | 
| 
        
        
        
        
        
        void | 
      invocationEnded(long elapsedTime, IInvocationContext context)
      More detailed callback to differentiate which shard finished. | 
| 
        
        
        
        
        
        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 | 
      testLogForward(String dataName, LogDataType dataType, InputStreamSource dataStream)
      Only forward the testLog instead of saving the log first. | 
| 
        
        
        
        
        
        void | 
      testLogSaved(String dataName, LogDataType dataType, InputStreamSource dataStream, LogFile logFile)
      Called when the test log is saved. | 
Public constructors
ShardMainResultForwarder
public ShardMainResultForwarder (listeners, int expectedShards) 
Create a ShardMainResultForwarder.
| Parameters | |
|---|---|
| listeners | : the list ofITestInvocationListenerto forward results to when all
     shards are completed | 
| expectedShards | int: the number of shards | 
Public methods
getListeners
publicgetListeners () 
Get the list of listeners.
| Returns | |
|---|---|
|  | The list of ITestInvocationListeners. | 
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 | 
invocationEnded
public void invocationEnded (long elapsedTime, 
                IInvocationContext context)More detailed callback to differentiate which shard finished.
| Parameters | |
|---|---|
| elapsedTime | long | 
| context | IInvocationContext | 
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: theFailureDescriptiondescribing 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: theThrowablecause 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: theLogFilethat was logged before and should be associated with the
     test case. | 
testLogForward
public void testLogForward (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream)Only forward the testLog instead of saving the log first.
| Parameters | |
|---|---|
| dataName | String | 
| dataType | LogDataType | 
| dataStream | InputStreamSource | 
testLogSaved
public void testLogSaved (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream, 
                LogFile logFile)Called when the test log is saved.
Should be used in place of ITestInvocationListener.testLog(String, LogDataType,
 InputStreamSource).
| Parameters | |
|---|---|
| dataName | String: aStringdescriptive 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: theLogDataTypeof the data | 
| dataStream | InputStreamSource: theInputStreamSourceof the data. Implementers should call
     createInputStream to start reading the data, and ensure to close the resulting
     InputStream when complete. | 
| logFile | LogFile: theLogFilecontaining the meta data of the saved file. | 
