Merged revisions 80708 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80708 | michael.foord | 2010-05-02 21:39:42 +0100 (Sun, 02 May 2010) | 1 line

  Fix unittest tests to not abuse traceback.format_exception
........
This commit is contained in:
Michael Foord 2010-05-02 21:00:22 +00:00
parent 6e20a1bdf0
commit d23ea06175
2 changed files with 16 additions and 4 deletions

View file

@ -4,6 +4,7 @@ import textwrap
from test import 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,8 @@ class TestOutputBuffering(unittest.TestCase):
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)