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

公共方法

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, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile) 回调中执行此操作。

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

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

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

在保存测试日志时调用。

公共构造函数

ShardMainResultForwarder

public ShardMainResultForwarder ( listeners, 
                int expectedShards)

创建 ShardMainResultForwarder

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

expectedShards int:分片数量

公共方法

getListeners

public  getListeners ()

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

返回
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, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.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:数据的 String 描述性名称,例如“device_logcat”。注意:每次调用时,dataName 可能不唯一。即,实现者必须能够处理具有相同 dataName 的多次调用

dataType LogDataType:数据的 LogDataType

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

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