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, IConfiguration config)

公用方法

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)

在完成前記錄最終檔案

static void 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, 
                IConfiguration config)

參數
logSaver ILogSaver

listeners

config IConfiguration

公用方法

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, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile) 回呼上執行此操作。因此,這個回呼可明確提供強連結。

參數
dataName String:資料名稱

logFile 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

reportEndHostLog

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

回報目前工作階段中的 host_log。

參數
listeners

saver ILogSaver

name String

testLog

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 方法完成為止。

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