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) 在某些情況下,日誌必須與測試用例強關聯,但有機會這樣做就直接 |
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) 保存測試日誌時調用。 如果 |
公共構造函數
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 。 |