ShardMainResultForwarder
public
class
ShardMainResultForwarder
extends ResultForwarder
implements
ILogSaverListener
| java.lang.Object | ||
| ↳ | com.android.tradefed.result.ResultForwarder | |
| ↳ | com.android.tradefed.invoker.ShardMainResultForwarder | |
結合分割測試叫用結果的 ResultForwarder。只有在所有分割的叫用作業完成後,才會向監聽器回報叫用作業完成。
這個類別不安全。在傳送測試結果時,用戶端應鎖定此類別,以免呼叫回呼順序錯亂。
摘要
公用建構函式 | |
|---|---|
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)
在某些情況下,記錄必須與測試案例建立強烈關聯,但無法直接在 |
void
|
testLogForward(String dataName, LogDataType dataType, InputStreamSource dataStream)
只轉送 testLog,而非先儲存記錄。 |
void
|
testLogSaved(String dataName, LogDataType dataType, InputStreamSource dataStream, LogFile logFile)
儲存測試記錄時呼叫。 |
公用建構函式
ShardMainResultForwarder
public ShardMainResultForwarder (listeners, int expectedShards)
| 參數 | |
|---|---|
listeners |
:當所有分割區完成時,要轉送結果的 ITestInvocationListener 清單 |
expectedShards |
int:分割區數量 |
公用方法
invocationEnded
public void invocationEnded (long elapsedTime)
回報叫用已終止,無論是成功或因某些錯誤情況而終止。
會由 TradeFederation 架構自動呼叫。
| 參數 | |
|---|---|
elapsedTime |
long:叫用作業的經過時間 (以毫秒為單位) |
invocationEnded
public void invocationEnded (long elapsedTime,
IInvocationContext context)更詳細的回呼,可區分哪個區塊已完成。
| 參數 | |
|---|---|
elapsedTime |
long |
context |
IInvocationContext |
invocationFailed
public void invocationFailed (FailureDescription failure)
因某些錯誤情況而回報不完整的叫用。
會由 TradeFederation 架構自動呼叫。
| 參數 | |
|---|---|
failure |
FailureDescription:描述失敗原因的 FailureDescription |
invocationFailed
public void invocationFailed (Throwable cause)
因某些錯誤情況而回報不完整的叫用。
會由 TradeFederation 架構自動呼叫。
| 參數 | |
|---|---|
cause |
Throwable:失敗的 Throwable 原因 |
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,應與測試案例相關聯。 |
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)。
| 參數 | |
|---|---|
dataName |
String:資料的String描述性名稱,例如「device_logcat」。請注意,每個叫用作業的 dataName 可能不具唯一性。也就是說,實作者必須能夠處理多個具有相同 dataName 的呼叫 |
dataType |
LogDataType:資料的 LogDataType |
dataStream |
InputStreamSource:資料的 InputStreamSource。實作者應呼叫 createInputStream 開始讀取資料,並確保在完成時關閉產生的 InputStream。 |
logFile |
LogFile:包含儲存檔案中繼資料的 LogFile。 |