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)
|
|
公共方法 | |
|---|---|
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)
在某些情况下,日志必须与测试用例紧密关联,但无法在直接 |
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 原因 |
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。 |