GTestResultParser

public class GTestResultParser
extends MultiLineReceiver

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


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

预期输出的示例格式:

 [==========] 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 会话完成时由父级调用。

boolean getPrependFileName ()
boolean isCancelled ()

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

void processNewLines (String[] lines)

void setPrependFileName (boolean prepend)

公共构造函数

GTestResultParser

public GTestResultParser (String testRunName, 
                 listeners)

创建 GTestResultParser。

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

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

公共方法

取消

public void cancel ()

要求取消试运行。

完毕

public void done ()

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

获取前置文件名

public boolean getPrependFileName ()

退货
boolean

取消

public boolean isCancelled ()

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

退货
boolean

处理换行

public void processNewLines (String[] lines)

参数
lines String

设置前置文件名

public void setPrependFileName (boolean prepend)

参数
prepend boolean