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