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