OSDN Git Service

Fix case where testRunEnded was called twice.
authorBrett Chabot <brettchabot@android.com>
Mon, 4 Oct 2010 23:37:13 +0000 (16:37 -0700)
committerBrett Chabot <brettchabot@android.com>
Mon, 4 Oct 2010 23:37:13 +0000 (16:37 -0700)
Change-Id: I14be6641c020baf0ad90f2f036e35fb854aed2ab

ddms/libs/ddmlib/src/com/android/ddmlib/testrunner/InstrumentationResultParser.java

index 4819fbc..a986380 100644 (file)
@@ -565,10 +565,19 @@ public class InstrumentationResultParser extends MultiLineReceiver {
     @Override
     public void done() {
         super.done();
-        if (!mTestRunFailReported && !mTestStartReported && !mTestRunFinished) {
+        if (!mTestRunFailReported) {
+            handleOutputDone();
+        }
+    }
+
+    /**
+     * Handles the end of the adb session when a test run failure has not been reported yet
+     */
+    private void handleOutputDone() {
+        if (!mTestStartReported && !mTestRunFinished) {
             // no results
             handleTestRunFailed(NO_TEST_RESULTS_MSG);
-        } else if (!mTestRunFailReported && mNumTestsExpected > mNumTestsRun) {
+        } else if (mNumTestsExpected > mNumTestsRun) {
             final String message =
                 String.format("%s. Expected %d tests, received %d",
                         INCOMPLETE_RUN_ERR_MSG_PREFIX, mNumTestsExpected, mNumTestsRun);