ShardMainResultForwarder

public class ShardMainResultForwarder
extends ResultForwarder implements ILogSaverListener

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


一种用于合并分片测试调用结果的 ResultForwarder。只有在所有分片调用都完成后,才会向监听器报告调用的完成情况。

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

摘要

公共构造函数

ShardMainResultForwarder(List<ITestInvocationListener> listeners, int expectedShards)

创建 ShardMainResultForwarder

公共方法

List<ITestInvocationListener> getListeners()

获取监听器列表。

void invocationEnded(long elapsedTime)

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

void invocationEnded(long elapsedTime, IInvocationContext context)

更详细的回调,用于区分哪个分片已完成。

void invocationFailed(FailureDescription failure)

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

void invocationFailed(Throwable cause)

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

void invocationSkipped(SkipReason reason)

报告调用已跳过

void invocationStarted(IInvocationContext context)

报告测试调用的开始。

void logAssociation(String dataName, LogFile logFile)

在某些情况下,日志必须与测试用例紧密关联,但无法在直接 testLogSaved(String,LogDataType,InputStreamSource,LogFile) 回调中实现此目的。

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

仅转发 testLog,而不是先保存日志。

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

在保存测试日志时调用。

公共构造函数

ShardMainResultForwarder

public ShardMainResultForwarder (List<ITestInvocationListener> listeners, 
                int expectedShards)

创建 ShardMainResultForwarder 网址。

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

expectedShards int:分片数量

公共方法

getListeners

public List<ITestInvocationListener> getListeners ()

获取监听器列表。

返回
List<ITestInvocationListener> ITestInvocationListener 的列表。

invocationEnded

public void invocationEnded (long elapsedTime)

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

将由 TradeFederation 框架自动调用。

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

invocationEnded

public void invocationEnded (long elapsedTime, 
                IInvocationContext context)

更详细的回调,用于区分哪个分片已完成。

参数
elapsedTime long

context IInvocationContext

invocationFailed

public void invocationFailed (FailureDescription failure)

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

将由 TradeFederation 框架自动调用。

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

invocationFailed

public void invocationFailed (Throwable cause)

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

将由 TradeFederation 框架自动调用。

参数
cause Throwable:失败的 Throwable 原因

invocationSkipped

public void invocationSkipped (SkipReason reason)

报告调用已跳过

参数
reason SkipReason

invocationStarted

public void invocationStarted (IInvocationContext context)

报告测试调用的开始。

将由 TradeFederation 框架自动调用。报告者需要替换此方法才能支持多设备报告。

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

logAssociation

public void logAssociation (String dataName, 
                LogFile logFile)

在某些情况下,日志必须与测试用例紧密关联,但无法在直接 testLogSaved(String,LogDataType,InputStreamSource,LogFile) 回调中实现这一点。因此,此回调允许明确提供强关联。

参数
dataName String:数据的名称

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

testLogForward

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

仅转发 testLog,而不是先保存日志。

参数
dataName String

dataType LogDataType

dataStream InputStreamSource

testLogSaved

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

在保存测试日志时调用。

应取代 ITestInvocationListener.testLog(String,LogDataType,InputStreamSource) 使用。

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

dataType LogDataType:数据的 LogDataType

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

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