ShardMainResultForwarder
public
class
ShardMainResultForwarder
extends ResultForwarder
implements
ILogSaverListener
java.lang.Object | ||
↳ | com.android.tradefed.result.ResultForwarder | |
↳ | com.android.tradefed.invoker.ShardMainResultForwarder |
用于组合分片测试调用的结果的 ResultForwarder
。只有在所有分片调用完成后,它才会向监听器报告调用完成。
此类不是线程安全的。客户端在发送测试结果时应锁定此类,以防止调用回调的顺序混乱。
摘要
公共构造函数 | |
---|---|
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)
在某些情况下,日志必须与测试用例强相关联,但无法在直接 |
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)
参数 | |
---|---|
listeners |
:在所有分片都完成时要将结果转发到的 ITestInvocationListener 列表 |
expectedShards |
int :分片数量 |
公共方法
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, 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 。 |