GTestResultParser

public class GTestResultParser
extends MultiLineReceiver

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


使用從殼層執行的 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。

GTestResultParser(String testRunName, listeners, boolean allowRustTestName)

建立 GTestResultParser。

公用方法

void cancel()

要求取消測試執行作業。

void done()

在 ADB 工作階段完成時由父項呼叫。

getFailedTests()

傳回在目前測試執行期間失敗的測試清單。

boolean getPrependFileName()
boolean isCancelled()

如果測試執行作業已取消,則傳回 true。

boolean isTestRunIncomplete()

測試執行作業是否未完成。

void processNewLines(String[] lines)

void setPrependFileName(boolean prepend)

受保護的方法

boolean isUnexpectedTestFound()

公開供單元測試使用。

公用建構函式

GTestResultParser

public GTestResultParser (String testRunName, 
                 listeners)

建立 GTestResultParser。

參數
testRunName String:要提供給 ITestLifeCycleReceiver.testRunStarted(String, int) 的測試執行名稱

listeners :在測試執行期間通知測試結果

GTestResultParser

public GTestResultParser (String testRunName, 
                 listeners, 
                boolean allowRustTestName)

建立 GTestResultParser。

參數
testRunName String:要提供給 ITestLifeCycleReceiver.testRunStarted(String, int) 的測試執行名稱

listeners :在測試執行期間通知測試結果

allowRustTestName boolean:允許測試名稱不遵循「::」分隔模式

公用方法

cancel

public void cancel ()

要求取消測試執行作業。

done

public void done ()

在 ADB 工作階段完成時由父項呼叫。

getFailedTests

public  getFailedTests ()

傳回在目前測試執行期間失敗的測試清單。

傳回

getPrependFileName

public boolean getPrependFileName ()

傳回
boolean

isCancelled

public boolean isCancelled ()

如果測試執行作業已取消,則傳回 true。

傳回
boolean

isTestRunIncomplete

public boolean isTestRunIncomplete ()

測試執行作業是否未完成。

傳回
boolean 如果由於剖析問題或異常終止,導致測試執行作業無法完成,則為 true。

processNewLines

public void processNewLines (String[] lines)

參數
lines String

setPrependFileName

public void setPrependFileName (boolean prepend)

參數
prepend boolean

受保護的方法

isUnexpectedTestFound

protected boolean isUnexpectedTestFound ()

公開供單元測試使用。

傳回
boolean