diff options
Diffstat (limited to 'test-runner/src/android/test/BundlePrinter.java')
-rw-r--r-- | test-runner/src/android/test/BundlePrinter.java | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/test-runner/src/android/test/BundlePrinter.java b/test-runner/src/android/test/BundlePrinter.java new file mode 100644 index 0000000..96213e7 --- /dev/null +++ b/test-runner/src/android/test/BundlePrinter.java @@ -0,0 +1,63 @@ +package android.test; + +import java.io.PrintStream; + +import android.os.Bundle; + +import junit.framework.AssertionFailedError; +import junit.framework.Test; +import junit.framework.TestCase; +import junit.runner.BaseTestRunner; +import junit.textui.ResultPrinter; + + +/** + * Subclass of ResultPrinter that adds test case results to a bundle. + * + * {@hide} - This class is deprecated, and will be going away. Please don't use it. + */ +public class BundlePrinter extends ResultPrinter { + + private Bundle mResults; + private boolean mFailure; + private boolean mError; + + public BundlePrinter(PrintStream writer, Bundle result) { + super(writer); + mResults = result; + } + + @Override + public void addError(Test test, Throwable t) { + mResults.putString(getComboName(test), BaseTestRunner.getFilteredTrace(t)); + mFailure = true; + super.addError(test, t); + } + + @Override + public void addFailure(Test test, AssertionFailedError t) { + mResults.putString(getComboName(test), BaseTestRunner.getFilteredTrace(t)); + mError = true; + super.addFailure(test, t); + } + + @Override + public void endTest(Test test) { + if (!mFailure && !mError) { + mResults.putString(getComboName(test), "passed"); + } + super.endTest(test); + } + + @Override + public void startTest(Test test) { + mFailure = false; + mError = false; + super.startTest(test); + } + + private String getComboName(Test test) { + return test.getClass().getName() + ":" + ((TestCase) test).getName(); + } + +} |