GTest结果解析器

public class GTestResultParser
extends MultiLineReceiver

java.lang.Object
com.android.ddmlib.MultiLineReceiver
com.android.tradefed.testtype.GTestResultParser


使用从 shell 运行的 GTest 解析本机测试的“原始输出模式”结果,并将结果通知 ITestInitationListener。

预期输出的示例格式:

 [==========] Running 15 tests from 1 test case.
 [----------] Global test environment set-up.
 [----------] 15 tests from MessageTest
 [ RUN      ] MessageTest.DefaultConstructor
 [       OK ] MessageTest.DefaultConstructor (1 ms)
 [ RUN      ] MessageTest.CopyConstructor
 external/gtest/test/gtest-message_test.cc:67: Failure
 Value of: 5
 Expected: 2
 external/gtest/test/gtest-message_test.cc:68: Failure
 Value of: 1 == 1
 Actual: true
 Expected: false
 [  FAILED  ] MessageTest.CopyConstructor (2 ms)
  ...
 [ RUN      ] MessageTest.DoesNotTakeUpMuchStackSpace
 [       OK ] MessageTest.DoesNotTakeUpMuchStackSpace (0 ms)
 [----------] 15 tests from MessageTest (26 ms total)

 [----------] Global test environment tear-down
 [==========] 15 tests from 1 test case ran. (26 ms total)
 [  PASSED  ] 6 tests.
 [  FAILED  ] 9 tests, listed below:
 [  FAILED  ] MessageTest.CopyConstructor
 [  FAILED  ] MessageTest.ConstructsFromCString
 [  FAILED  ] MessageTest.StreamsCString
 [  FAILED  ] MessageTest.StreamsNullCString
 [  FAILED  ] MessageTest.StreamsString
 [  FAILED  ] MessageTest.StreamsStringWithEmbeddedNUL
 [  FAILED  ] MessageTest.StreamsNULChar
 [  FAILED  ] MessageTest.StreamsInt
 [  FAILED  ] MessageTest.StreamsBasicIoManip
 9 FAILED TESTS
 

其中以下标记用于指示某些事件:

 [==========]: the first occurrence indicates a new run started, including the number of tests
                  to be expected in this run
 [ RUN      ]: indicates a new test has started to run; a series of zero or more lines may
                  follow a test start, and will be captured in case of a test failure or error
 [       OK ]: the preceding test has completed successfully, optionally including the time it
                  took to run (in ms)
 [  FAILED  ]: the preceding test has failed, optionally including the time it took to run (in ms)
 [==========]: the preceding test run has completed, optionally including the time it took to run
                  (in ms)
 
所有其他行都将被忽略。

概括

公共构造函数

GTestResultParser (String testRunName, listeners) GTestResultParser (String testRunName, listeners)

创建 GTestResultParser。

公共方法

void cancel ()

要求取消试运行。

void done ()

adb 会话完成时由父级调用。

getFailedTests ()

返回当前测试运行期间失败的测试列表。

boolean getPrependFileName ()
boolean isCancelled ()

如果测试运行取消,则返回 true。

boolean isTestRunIncomplete ()

测试运行是否不完整。

void processNewLines (String[] lines)

void setPrependFileName (boolean prepend)

受保护的方法

boolean isUnexpectedTestFound ()

暴露用于单元测试。

公共构造函数

GTest结果解析器

public GTestResultParser (String testRunName, 
                 listeners)

创建 GTestResultParser。

参数
testRunName String :提供给ITestLifeCycleReceiver.testRunStarted(String, int)的测试运行名称

listeners :在测试执行时通知测试结果

公共方法

取消

public void cancel ()

要求取消试运行。

完毕

public void done ()

adb 会话完成时由父级调用。

获取失败的测试

public  getFailedTests ()

返回当前测试运行期间失败的测试列表。

退货

获取前置文件名

public boolean getPrependFileName ()

退货
boolean

取消

public boolean isCancelled ()

如果测试运行取消,则返回 true。

退货
boolean

测试运行未完成

public boolean isTestRunIncomplete ()

测试运行是否不完整。

退货
boolean true,如果测试运行由于解析问题或崩溃而未完成。

处理换行

public void processNewLines (String[] lines)

参数
lines String

设置前置文件名

public void setPrependFileName (boolean prepend)

参数
prepend boolean

受保护的方法

发现意外测试

protected boolean isUnexpectedTestFound ()

暴露用于单元测试。

退货
boolean