subunit: Pass TestCase objects to startTest rather than test name strings.
authorJelmer Vernooij <jelmer@samba.org>
Mon, 13 Sep 2010 19:42:32 +0000 (21:42 +0200)
committerJelmer Vernooij <jelmer@samba.org>
Tue, 14 Sep 2010 08:54:27 +0000 (10:54 +0200)
selftest/format-subunit
selftest/subunithelper.py

index 25cc206fef3b54bad7bcb48dcaa2320d3831c3f2..b949d8e9aa2829e66e59a87d355c7811d03e024a 100755 (executable)
@@ -122,7 +122,7 @@ class PlainFormatter(subunithelper.TestsuiteEnabledTestResult):
 
         sys.stdout.write(out)
 
-    def startTest(self, testname):
+    def startTest(self, test):
         pass
 
     def end_test(self, testname, result, unexpected, reason=None):
index 255595da45501acc4af5591c9c99ef3623cc45c2..33287412468da807e3404e0fd40811c11e2c53b3 100644 (file)
@@ -47,7 +47,7 @@ def parse_results(msg_ops, statistics, fh):
         arg = parts[1]
         if command in ("test", "testing"):
             msg_ops.control_msg(l)
-            msg_ops.startTest(arg.rstrip())
+            msg_ops.startTest(subunit.RemotedTestCase(arg.rstrip()))
             open_tests.append(arg.rstrip())
         elif command == "time":
             msg_ops.control_msg(l)
@@ -171,9 +171,6 @@ def parse_results(msg_ops, statistics, fh):
 
 class SubunitOps(subunit.TestProtocolClient,TestsuiteEnabledTestResult):
 
-    def startTest(self, testname):
-        self._stream.write("test: %s\n" % testname)
-
     def end_test(self, name, result, reason=None):
         if reason:
             self._stream.write("%s: %s [\n%s\n]\n" % (result, name, reason))
@@ -253,14 +250,14 @@ class FilterOps(testtools.testresult.TestResult):
         else:
             self.output+=msg
 
-    def startTest(self, testname):
+    def startTest(self, test):
         if self.prefix is not None:
-            testname = self.prefix + testname
+            test = subunit.RemotedTestCase(self.prefix + test.id())
 
         if self.strip_ok_output:
            self.output = ""
 
-        self._ops.startTest(testname)
+        self._ops.startTest(test)
 
     def end_test(self, testname, result, unexpected, reason):
         if self.prefix is not None: