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)

只转发testLog,而不是先保存log。

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 :失败的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)

只转发testLog,而不是先保存log。

参数
dataName String

dataType LogDataType

dataStream InputStreamSource

测试日志已保存

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

保存测试日志时调用。

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

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

dataType LogDataType :数据的LogDataType

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

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