ShardMainResultForwarder

public class ShardMainResultForwarder
extends ResultForwarder implements ILogSaverListener

java.lang.Object
com.android.tradefed.result.ResultForwarder
com.android.tradefed.invoker.ShardMainResultForwarder


合併分片測試呼叫結果的ResultForwarder 。它僅在所有分片呼叫完成後才向偵聽器報告呼叫完成情況。

該類別不是線程安全的。預計客戶端在發送測試結果時會鎖定此類,以防止亂序呼叫呼叫回呼。

概括

公共構造函數

ShardMainResultForwarder ( listeners, int expectedShards) ShardMainResultForwarder ( listeners, int expectedShards)

建立一個ShardMainResultForwarder

公共方法

getListeners ()

獲取聽眾清單。

void invocationEnded (long elapsedTime)

報告呼叫已終止,無論是成功還是由於某些錯誤情況。

void invocationEnded (long elapsedTime, IInvocationContext context)

更詳細的回調以區分哪個分片已完成。

void invocationFailed ( FailureDescription failure)

由於某些錯誤情況而報告不完整的呼叫。

void invocationFailed (Throwable cause)

由於某些錯誤情況而報告不完整的呼叫。

void invocationSkipped ( SkipReason reason)

將呼叫報告為已跳過

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)回呼是不可能的。

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

只轉發testLog,而不是先儲存log。

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

保存測試日誌時調用。

公共構造函數

ShardMainResultForwarder

public ShardMainResultForwarder ( listeners, 
                int expectedShards)

建立一個ShardMainResultForwarder

參數
listeners :當所有分片完成時將結果轉送到的ITestInvocationListener列表

expectedShards int : 分片數量

公共方法

取得監聽器

public  getListeners ()

獲取聽眾清單。僅供子類使用。

退貨
ITestInvocationListener的列表。

呼叫結束

public void invocationEnded (long elapsedTime)

報告呼叫已終止,無論是成功還是由於某些錯誤情況。

將由 TradeFederation 框架自動呼叫。

參數
elapsedTime long :呼叫所花費的時間(以毫秒為單位)

呼叫結束

public void invocationEnded (long elapsedTime, 
                IInvocationContext context)

更詳細的回調以區分哪個分片已完成。

參數
elapsedTime long

context IInvocationContext

呼叫失敗

public void invocationFailed (FailureDescription failure)

由於某些錯誤情況而報告不完整的呼叫。

將由 TradeFederation 框架自動呼叫。

參數
failure FailureDescription :描述失敗原因的FailureDescription

呼叫失敗

public void invocationFailed (Throwable cause)

由於某些錯誤情況而報告不完整的呼叫。

將由 TradeFederation 框架自動呼叫。

參數
cause Throwable :失敗的Throwable原因

呼叫已跳過

public void invocationSkipped (SkipReason reason)

將呼叫報告為已跳過

參數
reason SkipReason

調用開始

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 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)

參數
dataName String :資料的String描述性名稱。例如“device_logcat”。注意 每次呼叫時 dataName 可能不是唯一的。即實現者必須能夠處理具有相同 dataName 的多個呼叫

dataType LogDataType :資料的LogDataType

dataStream InputStreamSource :資料的InputStreamSource 。實作者應該呼叫 createInputStream 來開始讀取數據,並確保完成後關閉產生的 InputStream。

logFile LogFile :包含已儲存檔案的元資料的LogFile