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)

Creates the GTestResultParser.

GTestResultParser(String testRunName, listeners, boolean allowRustTestName)

Creates the 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