Rev 4804: Add benchmark time details object. in http://bazaar.launchpad.net/~lifeless/bzr/subunit

Robert Collins robertc at robertcollins.net
Sun Dec 6 00:50:54 GMT 2009


At http://bazaar.launchpad.net/~lifeless/bzr/subunit

------------------------------------------------------------
revno: 4804
revision-id: robertc at robertcollins.net-20091206005049-qwdqia6awryncyy1
parent: robertc at robertcollins.net-20091206002251-ooxmkgjv3ez918so
committer: Robert Collins <robertc at robertcollins.net>
branch nick: subunit
timestamp: Sun 2009-12-06 11:50:49 +1100
message:
  Add benchmark time details object.
=== modified file 'bzrlib/tests/__init__.py'
--- a/bzrlib/tests/__init__.py	2009-12-06 00:22:51 +0000
+++ b/bzrlib/tests/__init__.py	2009-12-06 00:50:49 +0000
@@ -231,8 +231,10 @@
                 '%d non-main threads were left active in the end.\n'
                 % (TestCase._active_threads - 1))
 
-    def _extractBenchmarkTime(self, testCase):
+    def _extractBenchmarkTime(self, testCase, details=None):
         """Add a benchmark time for the current test case."""
+        if details and 'benchtime' in details:
+            return float(''.join(details['benchtime'].iter_bytes()))
         return getattr(testCase, "_benchtime", None)
 
     def _elapsedTestTimeString(self):
@@ -323,13 +325,13 @@
             self.stop()
         self._cleanupLogFile(test)
 
-    def addSuccess(self, test):
+    def addSuccess(self, test, details=None):
         """Tell result that test completed successfully.
 
         Called from the TestCase run()
         """
         if self._bench_history is not None:
-            benchmark_time = self._extractBenchmarkTime(test)
+            benchmark_time = self._extractBenchmarkTime(test, details)
             if benchmark_time is not None:
                 self._bench_history.write("%s %s\n" % (
                     self._formatTime(benchmark_time),
@@ -1611,6 +1613,8 @@
         self._benchcalls.
         """
         if self._benchtime is None:
+            self.addDetail('benchtime', content.Content(content.ContentType(
+                "text", "plain"), lambda:[str(self._benchtime)]))
             self._benchtime = 0
         start = time.time()
         try:




More information about the bazaar-commits mailing list