GTestResultParser

public class GTestResultParser
extends MultiLineReceiver

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


Parses the 'raw output mode' results of native tests using GTest that run from shell, and informs a ITestInvocationListener of the results.

Sample format of output expected:

 [==========] 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
 

where the following tags are used to signal certain events:

 [==========]: 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)
 
All other lines are ignored.

Summary

Public constructors

GTestResultParser(String testRunName, listeners)

Creates the GTestResultParser.

Public methods

void cancel()

Requests cancellation of test run.

void done()

Called by parent when adb session is complete.

boolean getPrependFileName()
boolean isCancelled()

Returns true if test run canceled.

void processNewLines(String[] lines)

void setPrependFileName(boolean prepend)

Public constructors

GTestResultParser

public GTestResultParser (String testRunName, 
                 listeners)

Creates the GTestResultParser.

Parameters
testRunName String: the test run name to provide to ITestLifeCycleReceiver.testRunStarted(String, int)

listeners : informed of test results as the tests are executing

Public methods

cancel

public void cancel ()

Requests cancellation of test run.

done

public void done ()

Called by parent when adb session is complete.

getPrependFileName

public boolean getPrependFileName ()

Returns
boolean

isCancelled

public boolean isCancelled ()

Returns true if test run canceled.

Returns
boolean

processNewLines

public void processNewLines (String[] lines)

Parameters
lines String

setPrependFileName

public void setPrependFileName (boolean prepend)

Parameters
prepend boolean