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