GranularRetriableTestWrapper

public class GranularRetriableTestWrapper
extends Object implements IRemoteTest, ITestCollector

java.lang.Object
   ↳ com.android.tradefed.testtype.suite.GranularRetriableTestWrapper


包裝函式會在 IRemoteTest 上運作,在測試案例層級細分 IRemoteTest。 IRemoteTest 可以包含多個測試案例。先前,這些測試案例會視為一個整體:當 IRemoteTest 執行時,所有測試案例都會執行。部分 IRemoteTest (實作 ITestFilterReceiver 的項目) 可接受測試案例的許可清單,並只執行這些測試案例。這個類別會運用現有功能,提供更靈活的測試套件執行方式。

  • 單一測試案例可以重試多次 (在同一個 IRemoteTest 執行中),以降低非測試錯誤的失敗率。
  • 系統會從先前的執行失敗中動態收集重試的測試案例。

注意:

  • 如要執行部分測試案例,測試類型必須實作 ITestFilterReceiver 介面。
  • X 是自訂的重試次數上限。

摘要

巢狀類別

class GranularRetriableTestWrapper.StartEndCollector

課程助手可偵測跑步活動的開始和結束時間。 

公用建構函式

GranularRetriableTestWrapper(IRemoteTest test, ITestInvocationListener mainListener, int maxRunLimit)
GranularRetriableTestWrapper(IRemoteTest test, ModuleDefinition module, ITestInvocationListener mainListener, int maxRunLimit)
GranularRetriableTestWrapper(IRemoteTest test, ModuleDefinition module, ITestInvocationListener mainListener, int maxRunLimit, boolean useModuleResultsForwarder, boolean removeModuleBuffering, int targetPreparerRetryCount)

公用方法

void backfillMissingEvents(ITestInvocationListener listener, FailureDescription failure)
final int getExpectedTestsCount()

計算 IRemoteTest 中的測試案例數量。

final getFinalTestRunResults()

從每個 IRemoteTest 執行作業取得合併的 TestRunResults。

final getPassedTests()
ModuleListener getResultListener()

傳回包含所有結果的接聽程式。

int getRetryCount()
void run(TestInformation testInfo, ITestInvocationListener listener)

安排一系列 IRemoteTest.run(TestInformation, ITestInvocationListener)

void setCollectTestsOnly(boolean shouldCollectTest)

啟用或停用測試收集模式

void setInvocationContext(IInvocationContext moduleInvocationContext)

IInvocationContext 設為 GranularRetriableTestWrapper 屬性。

void setLogSaver(ILogSaver logSaver)

將模組的 ILogSaver 設為 GranularRetriableTestWrapper 屬性。

void setMarkTestsSkipped(boolean skipTestCases)

ModuleDefinition RunStrategy 設為 GranularRetriableTestWrapper 屬性。

void setMetricCollectors( runMetricCollectors)

ModuleDefinition 的 runMetricCollector 設為 GranularRetriableTestWrapper 屬性。

void setModuleConfig(IConfiguration moduleConfiguration)

ModuleDefinition 的 ModuleConfig 設為 GranularRetriableTestWrapper 屬性。

void setModuleId(String moduleId)

ModuleDefinition 名稱設為 GranularRetriableTestWrapper 屬性。

void setRetryDecision(IRetryDecision decision)

設定要使用的 IRetryDecision

公用建構函式

GranularRetriableTestWrapper

public GranularRetriableTestWrapper (IRemoteTest test, 
                ITestInvocationListener mainListener, 
                int maxRunLimit)

參數
test IRemoteTest

mainListener ITestInvocationListener

maxRunLimit int

GranularRetriableTestWrapper

public GranularRetriableTestWrapper (IRemoteTest test, 
                ModuleDefinition module, 
                ITestInvocationListener mainListener, 
                int maxRunLimit)

參數
test IRemoteTest

module ModuleDefinition

mainListener ITestInvocationListener

maxRunLimit int

GranularRetriableTestWrapper

public GranularRetriableTestWrapper (IRemoteTest test, 
                ModuleDefinition module, 
                ITestInvocationListener mainListener, 
                int maxRunLimit, 
                boolean useModuleResultsForwarder, 
                boolean removeModuleBuffering, 
                int targetPreparerRetryCount)

參數
test IRemoteTest

module ModuleDefinition

mainListener ITestInvocationListener

maxRunLimit int

useModuleResultsForwarder boolean

removeModuleBuffering boolean

targetPreparerRetryCount int

公用方法

backfillMissingEvents

public void backfillMissingEvents (ITestInvocationListener listener, 
                FailureDescription failure)

參數
listener ITestInvocationListener

failure FailureDescription

getExpectedTestsCount

public final int getExpectedTestsCount ()

計算 IRemoteTest 中的測試案例數量。這個值會區分多次重新排定的相同測試案例。

傳回
int

getFinalTestRunResults

public final  getFinalTestRunResults ()

從每次 IRemoteTest 執行中取得合併的 TestRunResults。

傳回

getPassedTests

public final  getPassedTests ()

傳回

getResultListener

public ModuleListener getResultListener ()

傳回包含所有結果的接聽程式。

傳回
ModuleListener

getRetryCount

public int getRetryCount ()

傳回
int

得分

public void run (TestInformation testInfo, 
                ITestInvocationListener listener)

安排一系列 IRemoteTest.run(TestInformation, ITestInvocationListener)

參數
testInfo TestInformation:包含執行測試的實用資訊的 TestInformation 物件。

listener ITestInvocationListener:ResultForwarder 監聽器,其中包含每次執行的新 moduleListener。

擲回
DeviceNotAvailableException

setCollectTestsOnly

public void setCollectTestsOnly (boolean shouldCollectTest)

啟用或停用測試收集模式

setInvocationContext

public void setInvocationContext (IInvocationContext moduleInvocationContext)

IInvocationContext 設為 GranularRetriableTestWrapper 屬性。

參數
moduleInvocationContext IInvocationContext:包裝函式會在必要時使用 InvocationContext 初始化 MetricCollector。

setLogSaver

public void setLogSaver (ILogSaver logSaver)

將模組的 ILogSaver 設為 GranularRetriableTestWrapper 屬性。

參數
logSaver ILogSaver:每次測試執行的接聽程式都應儲存記錄。

setMarkTestsSkipped

public void setMarkTestsSkipped (boolean skipTestCases)

ModuleDefinition RunStrategy 設為 GranularRetriableTestWrapper 屬性。

參數
skipTestCases boolean:是否應略過測試案例。

setMetricCollectors

public void setMetricCollectors ( runMetricCollectors)

ModuleDefinition 的 runMetricCollector 設為 GranularRetriableTestWrapper 屬性。

參數
runMetricCollectors :模組的 MetricCollector 清單。

setModuleConfig

public void setModuleConfig (IConfiguration moduleConfiguration)

ModuleDefinition 的 ModuleConfig 設為 GranularRetriableTestWrapper 屬性。

參數
moduleConfiguration IConfiguration:提供模組指標。

setModuleId

public void setModuleId (String moduleId)

ModuleDefinition 名稱設為 GranularRetriableTestWrapper 屬性。

參數
moduleId String:moduleDefinition 的名稱。

setRetryDecision

public void setRetryDecision (IRetryDecision decision)

設定要使用的 IRetryDecision

參數
decision IRetryDecision