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, 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 而不是先保存日誌。

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

保存測試日誌時調用。

如果LogSaverResultForwarder包含在另一個中,請確保我們將 testLogSaved 回調轉發給它下面的偵聽器。

公共構造函數

LogSaverResultForwarder

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 每次調用可能不是唯一的。即實現者必須能夠處理具有相同數據名稱的多個調用

dataType LogDataType : 數據的LogDataType

dataStream InputStreamSource :數據的InputStreamSource 。實現者應調用 createInputStream 開始讀取數據,並確保在完成後關閉生成的 InputStream。調用者應確保數據源保持存在並可訪問,直到 testLog 方法完成。

測試日誌轉發

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

只轉發 testLog 而不是先保存日誌。

參數
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 每次調用可能不是唯一的。即實現者必須能夠處理具有相同數據名稱的多個調用

dataType LogDataType : 數據的LogDataType

dataStream InputStreamSource :數據的InputStreamSource 。實現者應調用 createInputStream 開始讀取數據,並確保在完成後關閉生成的 InputStream。

logFile LogFile :包含已保存文件的元數據的LogFile