GranularRetriableTestWrapper

public class GranularRetriableTestWrapper
extends Object implements IRemoteTest, ITestCollector

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


一个封装容器类,用于在测试用例级别对 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:包含每次运行的新 moduleListener 的 ResultForwarder 监听器。

抛出
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