LogSaverResultForwarder

public class LogSaverResultForwarder
extends ResultForwarder implements ILogSaverListener

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


用于使用全局文件保存器保存日志的 ResultForwarder

摘要

公共构造函数

LogSaverResultForwarder(ILogSaver logSaver, List<ITestInvocationListener> listeners, IConfiguration config)
LogSaverResultForwarder(ILogSaver logSaver, List<ITestInvocationListener> listeners, IConfiguration config, boolean setLogSaver)

公共方法

void invocationEnded(long elapsedTime)

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

void invocationStarted(IInvocationContext context)

报告测试调用已开始。

void logAssociation(String dataName, LogFile logFile)

在某些情况下,日志必须与测试用例紧密关联,但无法在直接 testLogSaved(String,LogDataType,InputStreamSource,LogFile) 回调中执行此操作。

static void logFile(List<ITestInvocationListener> listeners, ILogSaver saver, InputStreamSource source, String name, LogDataType type)

在完成之前记录最终文件

static void reportEndHostLog(List<ITestInvocationListener> 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,而不是先保存日志。

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

在保存测试日志时调用。

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

void testModuleEnded()

报告模块运行结束。

void testModuleStarted(IInvocationContext moduleContext)

报告模块运行开始。

公共构造函数

LogSaverResultForwarder

public LogSaverResultForwarder (ILogSaver logSaver, 
                List<ITestInvocationListener> listeners, 
                IConfiguration config)

参数
logSaver ILogSaver

listeners List

config IConfiguration

LogSaverResultForwarder

public LogSaverResultForwarder (ILogSaver logSaver, 
                List<ITestInvocationListener> listeners, 
                IConfiguration config, 
                boolean setLogSaver)

参数
logSaver ILogSaver

listeners List

config IConfiguration

setLogSaver boolean

公共方法

invocationEnded

public void invocationEnded (long elapsedTime)

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

TradeFederation 框架会自动调用此方法。

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

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,应与 测试用例关联。

logFile

public static void logFile (List<ITestInvocationListener> listeners, 
                ILogSaver saver, 
                InputStreamSource source, 
                String name, 
                LogDataType type)

在完成之前记录最终文件

参数
listeners List

saver ILogSaver

source InputStreamSource

name String

type LogDataType

reportEndHostLog

public static void reportEndHostLog (List<ITestInvocationListener> listeners, 
                ILogSaver saver, 
                String name)

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

参数
listeners List

saver ILogSaver

name String

testLog

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

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

必须在 ERROR(ITestInvocationListener.invocationFailed(Throwable)/ITestInvocationListener#invocationFailed(java.lang.Throwable) 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 方法完成之前保持存在且可访问。

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)

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

参数
dataName String:数据的 String 说明性名称,例如“device_logcat”。注意 :dataName 在每次调用中可能不是唯一的。也就是说,实现者必须能够处理 具有相同 dataName 的多次调用

dataType LogDataType:数据的 LogDataType

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

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

testModuleEnded

public void testModuleEnded ()

报告模块运行结束。

testModuleStarted

public void testModuleStarted (IInvocationContext moduleContext)

报告模块运行开始。此回调与 testModuleEnded() 相关联,并且在序列中是可选的。它仅在运行使用 模块(基于套件的运行程序)期间使用。

参数
moduleContext IInvocationContext:模块的 IInvocationContext