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) 创建一个 |
公共方法 | |
---|---|
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) 在某些情况下,日志必须与测试用例强关联,但有机会这样做就直接 |
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 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 。 |