LogSaver结果转发器

public class LogSaverResultForwarder
extends ResultForwarder implements ILogSaverListener

java.lang.Object
com.android.tradefed.result.ResultForwarder
com.android.tradefed.result.LogSaverResultForwarder


用于使用全局文件保护程序保存日志的ResultForwarder

概括

公共构造函数

LogSaverResultForwarder ( ILogSaver logSaver, listeners) LogSaverResultForwarder ( ILogSaver logSaver, listeners)

公共方法

void invocationEnded (long elapsedTime)

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

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)回调是不可能的。

static void logFile ( listeners, ILogSaver saver, InputStreamSource source, String name, LogDataType type) logFile ( listeners, ILogSaver saver, InputStreamSource source, String name, LogDataType type)

完成前记录最终文件

static void reportEndHostLog ( listeners, ILogSaver saver, String name) reportEndHostLog ( listeners, ILogSaver saver, String name)

报告正在进行的会话的 host_log。

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

提供来自测试调用的关联日志或调试数据。

另外,使用全局ILogSaver保存日志文件,并为实现ILogSaverListener接口的侦听器调用ILogSaverListener#testLogSaved(String, LogDataType, InputStreamSource, LogFile)

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

只转发testLog,而不是先保存log。

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

保存测试日志时调用。

如果LogSaverResultForwarder包装在另一个中,请确保我们将 testLogSaved 回调转发到其下的侦听器。

公共构造函数

LogSaver结果转发器

public LogSaverResultForwarder (ILogSaver logSaver, 
                 listeners)

参数
logSaver ILogSaver

listeners

公共方法

调用结束

public void invocationEnded (long elapsedTime)

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

将由 TradeFederation 框架自动调用。

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

调用开始

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 static void logFile ( listeners, 
                ILogSaver saver, 
                InputStreamSource source, 
                String name, 
                LogDataType type)

完成前记录最终文件

参数
listeners

saver ILogSaver

source InputStreamSource

name String

type LogDataType

报告结束主机日志

public static void reportEndHostLog ( listeners, 
                ILogSaver saver, 
                String name)

报告正在进行的会话的 host_log。

参数
listeners

saver ILogSaver

name String

测试日志

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

提供来自测试调用的关联日志或调试数据。

必须在ERROR(/ITestInvocationListener#invocationFailed(Throwable))ERROR(/ITestInvocationListener#invocationEnded(long))之前调用

TradeFederation 框架将自动调用此方法,提供主机日志和设备 logcat(如果适用)。

另外,使用全局ILogSaver保存日志文件,并为实现ILogSaverListener接口的侦听器调用ILogSaverListener#testLogSaved(String, LogDataType, InputStreamSource, LogFile)

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

dataType LogDataType :数据的LogDataType

dataStream InputStreamSource :数据的InputStreamSource 。实现者应该调用 createInputStream 来开始读取数据,并确保完成后关闭生成的 InputStream。调用者应确保数据源保持存在且可访问,直到 testLog 方法完成。

测试日志转发

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

只转发testLog,而不是先保存log。

参数
dataName String

dataType LogDataType

dataStream InputStreamSource

测试日志已保存

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

保存测试日志时调用。

应该用来代替ITestInvocationListener#testLog(String, LogDataType, InputStreamSource)

如果LogSaverResultForwarder包装在另一个中,请确保我们将 testLogSaved 回调转发到其下的侦听器。

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

dataType LogDataType :数据的LogDataType

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

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