From: Michael Foord Date: Sun, 2 May 2010 20:39:42 +0000 (+0000) Subject: Fix unittest tests to not abuse traceback.format_exception X-Git-Tag: v2.7b2~116 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f9ffccea569d4b65a3c15c8e3ac11e63e8330d3a;p=python Fix unittest tests to not abuse traceback.format_exception --- diff --git a/Lib/unittest/test/test_result.py b/Lib/unittest/test/test_result.py index 57ac5494b6..ec3fadd4b0 100644 --- a/Lib/unittest/test/test_result.py +++ b/Lib/unittest/test/test_result.py @@ -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)