length = self._count_relevant_tb_levels(tb)
msgLines = traceback.format_exception(exctype, value, tb, length)
else:
- chain = exctype is not None
- msgLines = traceback.format_exception(exctype, value, tb,
- chain=chain)
+ msgLines = traceback.format_exception(exctype, value, tb)
if self.buffer:
output = sys.stdout.getvalue()
from test import support
+import traceback
import unittest
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):
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),
Stderr:
bar
""")
- expectedFullMessage = 'NoneType\n%s%s' % (expectedOutMessage, expectedErrMessage)
+
+ expectedFullMessage = 'A traceback%s%s' % (expectedOutMessage, expectedErrMessage)
self.assertIs(test, self)
self.assertEqual(result._original_stdout.getvalue(), expectedOutMessage)