to top
public class

GTestResultParser

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

Class Overview

Parses the 'raw output mode' results of native tests using GTest that run from shell, and informs a ITestRunListener 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, Collection<ITestRunListener> listeners)
Creates the GTestResultParser.
GTestResultParser(String testRunName, ITestRunListener listener)
Creates the GTestResultParser for a single listener.
Public Methods
void cancel()
Requests cancellation of test run.
void done()
Called by parent when adb session is complete.
boolean isCancelled()
Returns true if test run canceled.
void processNewLines(String[] lines)
void setCoverageTarget(String coverageTarget)
Sets the coverage target for this test.
[Expand]
Inherited Methods
From class com.android.ddmlib.MultiLineReceiver
From class java.lang.Object
From interface com.android.ddmlib.IShellOutputReceiver

Public Constructors

public GTestResultParser (String testRunName, Collection<ITestRunListener> listeners)

Creates the GTestResultParser.

Parameters
testRunName the test run name to provide to testRunStarted(String, int)
listeners informed of test results as the tests are executing

public GTestResultParser (String testRunName, ITestRunListener listener)

Creates the GTestResultParser for a single listener.

Parameters
testRunName the test run name to provide to testRunStarted(String, int)
listener informed of test results as the tests are executing

Public Methods

public void cancel ()

Requests cancellation of test run.

public void done ()

Called by parent when adb session is complete.

public boolean isCancelled ()

Returns true if test run canceled.

See Also

public void processNewLines (String[] lines)

public void setCoverageTarget (String coverageTarget)

Sets the coverage target for this test.

Will be sent as a metric to test listeners.

Parameters
coverageTarget the coverage target