From f9ffccea569d4b65a3c15c8e3ac11e63e8330d3a Mon Sep 17 00:00:00 2001 From: Michael Foord Date: Sun, 2 May 2010 20:39:42 +0000 Subject: Fix unittest tests to not abuse traceback.format_exception --- Lib/unittest/test/test_result.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/Lib/unittest/test/test_result.py b/Lib/unittest/test/test_result.py index 57ac549..ec3fadd 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) -- cgit v0.12