Commit f9ffccea authored by Michael Foord's avatar Michael Foord

Fix unittest tests to not abuse traceback.format_exception

parent 951919f5
...@@ -3,6 +3,7 @@ import textwrap ...@@ -3,6 +3,7 @@ import textwrap
from StringIO import StringIO from StringIO import StringIO
from test import test_support from test import test_support
import traceback
import unittest import unittest
...@@ -361,6 +362,15 @@ class Test_OldTestResult(unittest.TestCase): ...@@ -361,6 +362,15 @@ class Test_OldTestResult(unittest.TestCase):
runner.run(Test('testFoo')) 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): class TestOutputBuffering(unittest.TestCase):
def setUp(self): def setUp(self):
...@@ -441,6 +451,9 @@ class TestOutputBuffering(unittest.TestCase): ...@@ -441,6 +451,9 @@ class TestOutputBuffering(unittest.TestCase):
return result return result
def testBufferOutputAddErrorOrFailure(self): def testBufferOutputAddErrorOrFailure(self):
unittest.result.traceback = MockTraceback
self.addCleanup(restore_traceback)
for message_attr, add_attr, include_error in [ for message_attr, add_attr, include_error in [
('errors', 'addError', True), ('errors', 'addError', True),
('failures', 'addFailure', False), ('failures', 'addFailure', False),
...@@ -476,7 +489,7 @@ class TestOutputBuffering(unittest.TestCase): ...@@ -476,7 +489,7 @@ class TestOutputBuffering(unittest.TestCase):
Stderr: Stderr:
bar bar
""") """)
expectedFullMessage = 'None\n%s%s' % (expectedOutMessage, expectedErrMessage) expectedFullMessage = 'A traceback%s%s' % (expectedOutMessage, expectedErrMessage)
self.assertIs(test, self) self.assertIs(test, self)
self.assertEqual(result._original_stdout.getvalue(), expectedOutMessage) self.assertEqual(result._original_stdout.getvalue(), expectedOutMessage)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment