GTestBase

public abstract class GTestBase
extends Object implements IAbiReceiver, IConfigurationReceiver, IRemoteTest, IRuntimeHintProvider, IShardableTest, ITestCollector, ITestFilterReceiver

java.lang.Object
   ↳ com.android.tradefed.testtype.GTestBase


gTest 的基类

摘要

字段

protected static final String FILTER_EXTENSION

protected static final String GTEST_FLAG_FILE

protected static final String GTEST_FLAG_FILTER

protected static final String GTEST_FLAG_LIST_TESTS

protected static final String GTEST_FLAG_PRINT_TIME

protected static final String GTEST_FLAG_RUN_DISABLED_TESTS

protected static final String GTEST_XML_OUTPUT

公共构造函数

GTestBase()

公共方法

void addAllExcludeFilters( filters)

添加要排除的过滤器的 ERROR(/Set)

void addAllIncludeFilters( filters)

添加要包含的测试的过滤条件的 ERROR(/Set)

void addExcludeFilter(String filter)

添加了用于过滤要排除的测试的过滤条件。

void addIncludeFilter(String filter)

添加要包含的测试的过滤条件。

String cleanFilter(String filter)
void clearExcludeFilters()

删除当前跟踪的所有排除过滤器。

void clearIncludeFilters()

删除当前跟踪的所有包含过滤条件。

IAbi getAbi()
getAfterTestCmd()

获取要在 GTest 之后运行的 shell 命令。

getBeforeTestCmd()

获取要在 GTest 之前运行的 shell 命令。

getExcludeFilters()

返回排除过滤条件的当前 ERROR(/Set)

getFileExclusionFilterRegex()

获取正则表达式,以排除某些文件的执行。

getGTestFlags()

获取要传递给原生测试的 shell 命令的附加标志值。

getIncludeFilters()

返回包含过滤条件的当前 ERROR(/Set)

long getMaxTestTimeMs()

获取 gtest 的运行时长上限。

String getModuleName()

运行 Android 原生测试模块。

boolean getRunDisabledTests()

获取 GTest 是否应运行已停用的测试。

long getRuntimeHint()

返回测试的预期运行时(以毫秒为单位)。

int getShardCount()

返回当前的分片数量。

int getShardIndex()

获取此测试的分片索引。

String getTestFilterKey()

获取测试过滤条件键。

String getTestModule()

获取模块名称。

boolean isCollectTestsOnly()

获取是否仅调用测试二进制文件来收集适用测试用例的列表。

boolean isEnableXmlOutput()

获取是否使用 gtest xml 输出测试结果。

boolean isSharded()

获取 isSharded 标志。

void notifyTestExecution(boolean incompleteTestFound, failedTests)

通知父级测试执行情况,以便为重试尝试正确处理包含/排除过滤条件。

void setAbi(IAbi abi)
void setCollectTestsOnly(boolean shouldCollectTest)

启用或停用测试收集模式

void setConfiguration(IConfiguration configuration)

注入正在使用的 IConfiguration

void setModuleName(String moduleName)

设置要运行的 Android 原生测试模块。

void setShardCount(int shardCount)

设置此测试的分片数量。

void setShardIndex(int shardIndex)

设置此测试的分片索引。

split(int shardCountHint)

split() 的替代版本,还提供尝试运行的分片数量。

受保护的方法

String createFlagFile(String filter)

创建一个文件,其中包含将通过 --gtest_flagfile 使用的过滤条件,以避免参数大小存在任何操作系统限制。

void erasePrependedFileName( filters, String filename)
String getAllGTestFlags(String path)

用于获取要传递给 adb shell 命令的所有 GTest 标志的辅助程序。

IConfiguration getConfiguration()

返回测试配置。

String getExceptionMessage(Exception e)

尽最大努力针对指定 Exception 检索有意义的简短描述性消息

String getGTestCmdLine(String fullPath, String flags)

用于构建要运行的 gtest 命令的辅助方法。

String getGTestCmdLineWrapper(String fullPath, String flags)

允许派生类在某些其他工具(chroot、strace、gdb 等)下封装 gtest 命令的帮助程序。

String getGTestFilters(String path)

用于获取要运行的测试的 g-test 过滤条件的帮助程序。

ITestInvocationListener getGTestListener(ITestInvocationListener... listeners)

返回提供额外调试信息的 GTestListener,例如,如果 mDisabledDuplicateCheck 为 false,则检测并报告重复的测试。

abstract String loadFilter(String path)

定义 get 过滤器方法。

void setRunDisabled(boolean runDisabled)

设置 GTest 是否应运行已停用的测试。

字段

FILTER_EXTENSION

protected static final String FILTER_EXTENSION

GTEST_FLAG_FILE

protected static final String GTEST_FLAG_FILE

GTEST_FLAG_FILTER

protected static final String GTEST_FLAG_FILTER

GTEST_FLAG_LIST_TESTS

protected static final String GTEST_FLAG_LIST_TESTS

GTEST_FLAG_PRINT_TIME

protected static final String GTEST_FLAG_PRINT_TIME

GTEST_FLAG_RUN_DISABLED_TESTS

protected static final String GTEST_FLAG_RUN_DISABLED_TESTS

GTEST_XML_OUTPUT

protected static final String GTEST_XML_OUTPUT

公共构造函数

GTestBase

public GTestBase ()

公共方法

添加全部排除过滤器

public void addAllExcludeFilters ( filters)

添加了要排除的测试的过滤条件的 ERROR(/Set)

参数
filters

addAllIncludeFilters

public void addAllIncludeFilters ( filters)

添加了要包含的测试的过滤条件的 ERROR(/Set)

参数
filters

addExcludeFilter

public void addExcludeFilter (String filter)

添加了用于过滤要排除的测试的过滤条件。

参数
filter String

addIncludeFilter

public void addIncludeFilter (String filter)

添加了用于过滤要包含的测试的过滤条件。

参数
filter String

cleanFilter

public String cleanFilter (String filter)

参数
filter String

返回
String

clearExcludeFilters

public void clearExcludeFilters ()

删除目前跟踪的所有排除过滤条件。

clearIncludeFilters

public void clearIncludeFilters ()

删除当前跟踪的所有包含过滤条件。

getAbi

public IAbi getAbi ()

返回
IAbi

getAfterTestCmd

public  getAfterTestCmd ()

获取要在 GTest 之后运行的 shell 命令。

返回

getBeforeTestCmd

public  getBeforeTestCmd ()

获取要在 GTest 之前运行的 shell 命令。

返回

getExcludeFilters

public  getExcludeFilters ()

返回排除过滤器的当前 ERROR(/Set)

返回

getFileExclusionFilterRegex

public  getFileExclusionFilterRegex ()

获取正则表达式,以排除特定文件,使其不执行。

返回

getGTestFlags

public  getGTestFlags ()

获取要传递给原生测试的 shell 命令的其他标志值。

返回

getIncludeFilters

public  getIncludeFilters ()

返回包含过滤器的当前 ERROR(/Set)

返回

getMaxTestTimeMs

public long getMaxTestTimeMs ()

获取 gtest 的运行时长上限。

返回
long

getModuleName

public String getModuleName ()

运行 Android 原生测试模块。

返回
String 要运行的原生测试模块的名称,如果未设置,则返回 null

getRunDisabledTests

public boolean getRunDisabledTests ()

获取 GTest 是否应运行已停用的测试。

返回
boolean 如果应运行已停用的测试,则为 true;否则为 false

getRuntimeHint

public long getRuntimeHint ()

返回测试的预期运行时(以毫秒为单位)。 该时间用于对分片执行进行负载均衡

返回
long

getShardCount

public int getShardCount ()

返回当前的分片数量。

返回
int

getShardIndex

public int getShardIndex ()

获取此测试的分片编号。

返回
int

getTestFilterKey

public String getTestFilterKey ()

获取测试过滤条件键。

返回
String

getTestModule

public String getTestModule ()

获取模块名称。

返回
String

isCollectTestsOnly

public boolean isCollectTestsOnly ()

获取是否仅调用测试二进制文件来收集适用测试用例的列表。

返回
boolean

isEnableXmlOutput

public boolean isEnableXmlOutput ()

获取是否使用 gtest xml 输出测试结果。

返回
boolean

isSharded

public boolean isSharded ()

获取 isSharded 标志。

返回
boolean

通知测试执行

public void notifyTestExecution (boolean incompleteTestFound, 
                 failedTests)

通知父级测试执行情况,以便为重试尝试正确处理包含/排除过滤条件。

参数
incompleteTestFound boolean

failedTests

setAbi

public void setAbi (IAbi abi)

参数
abi IAbi

setCollectTestsOnly

public void setCollectTestsOnly (boolean shouldCollectTest)

启用或停用测试集合模式

setConfiguration

public void setConfiguration (IConfiguration configuration)

注入正在使用的 IConfiguration

参数
configuration IConfiguration

setModuleName

public void setModuleName (String moduleName)

设置要运行的 Android 原生测试模块。

参数
moduleName String:要运行的原生测试模块的名称

setShardCount

public void setShardCount (int shardCount)

设置此测试的分片数量。

参数
shardCount int

setShardIndex

public void setShardIndex (int shardIndex)

设置此测试的分片编号。

参数
shardIndex int

分割

public  split (int shardCountHint)

split() 的替代版本,还提供尝试运行的分片数量。这对于有时无法任意做出决定的一些测试运行程序非常有用。

参数
shardCountHint int:尝试的分片数。

返回
要单独执行的一组子测试,如果测试目前不可分片,则为 null

受保护的方法

createFlagFile

protected String createFlagFile (String filter)

创建一个文件,其中包含将通过 --gtest_flagfile 使用的过滤器,以避免参数大小受到任何操作系统限制。

参数
filter String:过滤条件字符串

返回
String 包含过滤器的文件的路径。

抛出
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

erasePrependedFileName

protected void erasePrependedFileName ( filters, 
                String filename)

参数
filters

filename String

getAllGTestFlags

protected String getAllGTestFlags (String path)

用于获取要传递给 adb shell 命令的所有 GTest 标志的辅助程序。

参数
path String:设备上二进制文件的完整路径。

返回
String 应传递给 GTest 的所有 GTest 标志的 String

抛出
DeviceNotAvailableException

getConfiguration

protected IConfiguration getConfiguration ()

返回测试配置。

返回
IConfiguration IConfiguration

getExceptionMessage

protected String getExceptionMessage (Exception e)

尽最大努力为给定的 Exception 检索有意义的简短描述性消息

参数
e ExceptionException

返回
String 一条简短的消息

getGTestCmdLine

protected String getGTestCmdLine (String fullPath, 
                String flags)

用于构建要运行的 gtest 命令的辅助方法。

参数
fullPath String:设备上 gtest 二进制文件的绝对文件系统路径

flags String:gtest 执行标志

返回
String 要针对 gtest 运行的 shell 命令行

getGTestCmdLineWrapper

protected String getGTestCmdLineWrapper (String fullPath, 
                String flags)

该辅助程序允许派生类在某些其他工具(chroot、strace、gdb 等)下封装 gtest 命令。

参数
fullPath String

flags String

返回
String

getGTestFilters

protected String getGTestFilters (String path)

帮助使测试运行的 g-test 过滤器。

请注意,过滤器仅按函数名称进行过滤(例如 Google Test“Test”);系统会考虑所有 Google Test“Test Case”。

参数
path String:设备上二进制文件的完整路径。

返回
String 要传递给 g-test 的完整过滤器标志,如果未指定任何过滤器,则为空字符串

抛出
DeviceNotAvailableException

getGTestListener

protected ITestInvocationListener getGTestListener (ITestInvocationListener... listeners)

返回提供额外调试信息的 GTestListener,例如,如果 mDisabledDuplicateCheck 为 false,则检测并报告重复的测试。否则,返回传入的监听器。

参数
listeners ITestInvocationListener

返回
ITestInvocationListener

loadFilter

protected abstract String loadFilter (String path)

定义 get 过滤器方法。

子类必须实现如何获取自己的过滤器。

参数
path String:过滤器文件的完整路径。

返回
String 过滤条件字符串。

抛出
DeviceNotAvailableException

setRunDisabled

protected void setRunDisabled (boolean runDisabled)

设置 GTest 是否应运行已停用的测试。

参数
runDisabled boolean