Correctly increment counters in Subunit test runner.
authorJelmer Vernooij <jelmer@samba.org>
Tue, 12 Feb 2008 20:59:23 +0000 (21:59 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Tue, 12 Feb 2008 20:59:23 +0000 (21:59 +0100)
source/scripting/bin/subunitrun
source/scripting/python/subunit/__init__.py

index 7142abed8511103a2ddf48c065793c4e5fe9385c..8dfe2def9c7c191db10913b038c5f00fa9ee86a8 100755 (executable)
@@ -21,6 +21,4 @@ from subunit import SubunitTestRunner
 import sys
 from unittest import TestProgram
 
-program = TestProgram(module=None, argv=sys.argv, 
-                             testRunner=SubunitTestRunner())
-program.runTests()
+TestProgram(module=None, argv=sys.argv, testRunner=SubunitTestRunner())
index 4d3434a3ea67edae598474df82bebd6d6f76a673..7fcb81593759337310917e1deb1634d79bd9def6 100644 (file)
@@ -218,6 +218,7 @@ class TestProtocolClient(unittest.TestResult):
         for line in self._exc_info_to_string(error, test).splitlines():
             self._stream.write("%s\n" % line)
         self._stream.write("]\n")
+        super(TestProtocolClient, self).addError(test, error)
 
     def addFailure(self, test, error):
         """Report a failure in test test."""
@@ -225,14 +226,17 @@ class TestProtocolClient(unittest.TestResult):
         for line in self._exc_info_to_string(error, test).splitlines():
             self._stream.write("%s\n" % line)
         self._stream.write("]\n")
+        super(TestProtocolClient, self).addFailure(test, error)
 
     def addSuccess(self, test):
         """Report a success in a test."""
         self._stream.write("successful: %s\n" % (test.shortDescription() or str(test)))
+        super(TestProtocolClient, self).addSuccess(test)
 
     def startTest(self, test):
         """Mark a test as starting its test run."""
         self._stream.write("test: %s\n" % (test.shortDescription() or str(test)))
+        super(TestProtocolClient, self).startTest(test)
 
 
 def RemoteError(description=""):
@@ -379,6 +383,5 @@ class SubunitTestRunner:
     def run(self, test):
         "Run the given test case or test suite."
         result = TestProtocolClient(self.stream)
-        test(result)
         return result