ShardMainResultForwarder

public class ShardMainResultForwarder
extends ResultForwarder implements ILogSaverListener

java.lang.Object
com.android.tradefed.result.ResultForwarder
com.android.tradefed.invoker.ShardMainResultForwarder


一个ResultForwarder ,它结合了分片测试调用的结果。它仅在所有分片调用完成后才向侦听器报告调用完成。

这个类不是线程安全的。预计客户端在发送测试结果时会锁定该类,以防止调用回调被乱序调用。

概括

公共构造函数

ShardMainResultForwarder ( listeners, int expectedShards) ShardMainResultForwarder ( listeners, int expectedShards)

创建一个ShardMainResultForwarder

公共方法

getListeners ()

获取听众列表。

void invocationEnded (long elapsedTime)

报告调用已终止,无论是成功终止还是由于某些错误情况。

void invocationEnded (long elapsedTime, IInvocationContext context)

更详细的回调来区分哪个分片完成了。

void invocationFailed ( FailureDescription failure)

报告由于某些错误情况导致的不完整调用。

void invocationFailed (Throwable cause)

报告由于某些错误情况导致的不完整调用。

void invocationStarted ( IInvocationContext context)

报告测试调用的开始。

void logAssociation (String dataName, LogFile logFile)

在某些情况下,日志必须与测试用例强关联,但有机会这样做就直接testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile)回调是不可能的。

void testLogForward (String dataName, LogDataType dataType, InputStreamSource dataStream)

只转发测试日志,而不是先保存日志。

void testLogSaved (String dataName, LogDataType dataType, InputStreamSource dataStream, LogFile logFile)

保存测试日志时调用。

公共构造函数

ShardMainResultForwarder

public ShardMainResultForwarder ( listeners, 
                int expectedShards)

创建一个ShardMainResultForwarder

参数
listeners : ITestInvocationListener列表,当所有分片完成时将结果转发到

expectedShards int : 分片数量

公共方法

获取监听器

public  getListeners ()

获取听众列表。仅供子类使用。

退货
ITestInvocationListener的列表。

调用结束

public void invocationEnded (long elapsedTime)

报告调用已终止,无论是成功终止还是由于某些错误情况。

将由 TradeFederation 框架自动调用。

参数
elapsedTime long :调用经过的时间(以毫秒为单位)

调用结束

public void invocationEnded (long elapsedTime, 
                IInvocationContext context)

更详细的回调来区分哪个分片完成了。

参数
elapsedTime long

context IInvocationContext

调用失败

public void invocationFailed (FailureDescription failure)

报告由于某些错误情况导致的不完整调用。

将由 TradeFederation 框架自动调用。

参数
failure FailureDescription :描述失败原因的FailureDescription

调用失败

public void invocationFailed (Throwable cause)

报告由于某些错误情况导致的不完整调用。

将由 TradeFederation 框架自动调用。

参数
cause Throwable : 失败的ERROR(/Throwable)原因

调用开始

public void invocationStarted (IInvocationContext context)

报告测试调用的开始。

将由 TradeFederation 框架自动调用。记者需要覆盖此方法以支持多设备报告。

参数
context IInvocationContext :有关调用的信息

日志关联

public void logAssociation (String dataName, 
                LogFile logFile)

在某些情况下,日志必须与测试用例强关联,但有机会这样做就直接testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile)回调是不可能的。因此,此回调允许显式提供强关联。

参数
dataName String :数据的名称

logFile LogFile :之前记录的LogFile ,应该与测试用例相关联。

测试日志转发

public void testLogForward (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream)

只转发测试日志,而不是先保存日志。

参数
dataName String

dataType LogDataType

dataStream InputStreamSource

测试日志已保存

public void testLogSaved (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream, 
                LogFile logFile)

保存测试日志时调用。

应该用来代替ITestInvocationListener#testLog(String, LogDataType, InputStreamSource)

参数
dataName String :数据的ERROR(/String)描述性名称。例如“device_logcat”。注意 dataName 每次调用可能不是唯一的。即实现者必须能够处理具有相同数据名的多个调用

dataType LogDataType :数据的LogDataType

dataStream InputStreamSource :数据的InputStreamSource 。实施者应调用 createInputStream 开始读取数据,并确保在完成后关闭生成的 InputStream。

logFile LogFile :包含已保存文件的元数据的LogFile