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)可以接受测试用例的许可名单,并且仅运行这些测试用例。此类利用现有功能,并提供了更灵活的测试套件运行方式。
- 单个测试用例可重试多次(在同一 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)
|
|
公共构造函数
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)
| 参数 | |
|---|---|
test |
IRemoteTest |
module |
ModuleDefinition |
mainListener |
ITestInvocationListener |
maxRunLimit |
int |
useModuleResultsForwarder |
boolean |
公共方法
getExpectedTestsCount
public final int getExpectedTestsCount ()
计算 IRemoteTest 中的测试用例数量。此值用于区分多次重新调度的同一测试用例。
| 返回 | |
|---|---|
int |
|
getFinalTestRunResults
public finalgetFinalTestRunResults ()
从每个 IRemoteTest 运行中获取合并的 TestRunResult。
| 返回 | |
|---|---|
|
|
getPassedTests
public finalgetPassedTests ()
| 返回 | |
|---|---|
|
|
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 |