]> granicus.if.org Git - python/commitdiff
Fix unittest tests to not abuse traceback.format_exception
authorMichael Foord <fuzzyman@voidspace.org.uk>
Sun, 2 May 2010 20:39:42 +0000 (20:39 +0000)
committerMichael Foord <fuzzyman@voidspace.org.uk>
Sun, 2 May 2010 20:39:42 +0000 (20:39 +0000)
Lib/unittest/test/test_result.py

index 57ac5494b6d4e3dbc68206611359ae3ade0a1efc..ec3fadd4b035110750c24b73c8be96badc711edd 100644 (file)
@@ -3,6 +3,7 @@ import textwrap
 from StringIO import StringIO
 from test import test_support
 
+import traceback
 import unittest
 
 
@@ -361,6 +362,15 @@ class Test_OldTestResult(unittest.TestCase):
         runner.run(Test('testFoo'))
 
 
+class MockTraceback(object):
+    @staticmethod
+    def format_exception(*_):
+        return ['A traceback']
+
+def restore_traceback():
+    unittest.result.traceback = traceback
+
+
 class TestOutputBuffering(unittest.TestCase):
 
     def setUp(self):
@@ -441,6 +451,9 @@ class TestOutputBuffering(unittest.TestCase):
         return result
 
     def testBufferOutputAddErrorOrFailure(self):
+        unittest.result.traceback = MockTraceback
+        self.addCleanup(restore_traceback)
+
         for message_attr, add_attr, include_error in [
             ('errors', 'addError', True),
             ('failures', 'addFailure', False),
@@ -476,7 +489,7 @@ class TestOutputBuffering(unittest.TestCase):
                 Stderr:
                 bar
             """)
-            expectedFullMessage = 'None\n%s%s' % (expectedOutMessage, expectedErrMessage)
+            expectedFullMessage = 'A traceback%s%s' % (expectedOutMessage, expectedErrMessage)
 
             self.assertIs(test, self)
             self.assertEqual(result._original_stdout.getvalue(), expectedOutMessage)