summaryrefslogtreecommitdiffstats
path: root/Lib/unittest/test/test_result.py
diff options
context:
space:
mode:
authorMichael Foord <michael@python.org>2011-03-17 16:48:56 (GMT)
committerMichael Foord <michael@python.org>2011-03-17 16:48:56 (GMT)
commit8faa20751d893443e6927c4e18c1cd0b26455994 (patch)
tree646bb85e175de3469e79f57a63e2c0944bdaa07c /Lib/unittest/test/test_result.py
parent5a9a5080cf26712160efa79e932e2eeca59437bc (diff)
downloadcpython-8faa20751d893443e6927c4e18c1cd0b26455994.zip
cpython-8faa20751d893443e6927c4e18c1cd0b26455994.tar.gz
cpython-8faa20751d893443e6927c4e18c1cd0b26455994.tar.bz2
Issue #10979. unittest stdout buffering now works for class and module fixtures.
Diffstat (limited to 'Lib/unittest/test/test_result.py')
-rw-r--r--Lib/unittest/test/test_result.py67
1 files changed, 67 insertions, 0 deletions
diff --git a/Lib/unittest/test/test_result.py b/Lib/unittest/test/test_result.py
index ec3fadd..f0f3a63 100644
--- a/Lib/unittest/test/test_result.py
+++ b/Lib/unittest/test/test_result.py
@@ -496,5 +496,72 @@ class TestOutputBuffering(unittest.TestCase):
self.assertEqual(result._original_stderr.getvalue(), expectedErrMessage)
self.assertMultiLineEqual(message, expectedFullMessage)
+ def testBufferSetupClass(self):
+ result = unittest.TestResult()
+ result.buffer = True
+
+ class Foo(unittest.TestCase):
+ @classmethod
+ def setUpClass(cls):
+ 1/0
+ def test_foo(self):
+ pass
+ suite = unittest.TestSuite([Foo('test_foo')])
+ suite(result)
+ self.assertEqual(len(result.errors), 1)
+
+ def testBufferTearDownClass(self):
+ result = unittest.TestResult()
+ result.buffer = True
+
+ class Foo(unittest.TestCase):
+ @classmethod
+ def tearDownClass(cls):
+ 1/0
+ def test_foo(self):
+ pass
+ suite = unittest.TestSuite([Foo('test_foo')])
+ suite(result)
+ self.assertEqual(len(result.errors), 1)
+
+ def testBufferSetUpModule(self):
+ result = unittest.TestResult()
+ result.buffer = True
+
+ class Foo(unittest.TestCase):
+ def test_foo(self):
+ pass
+ class Module(object):
+ @staticmethod
+ def setUpModule():
+ 1/0
+
+ Foo.__module__ = 'Module'
+ sys.modules['Module'] = Module
+ self.addCleanup(sys.modules.pop, 'Module')
+ suite = unittest.TestSuite([Foo('test_foo')])
+ suite(result)
+ self.assertEqual(len(result.errors), 1)
+
+ def testBufferTearDownModule(self):
+ result = unittest.TestResult()
+ result.buffer = True
+
+ class Foo(unittest.TestCase):
+ def test_foo(self):
+ pass
+ class Module(object):
+ @staticmethod
+ def tearDownModule():
+ 1/0
+
+ Foo.__module__ = 'Module'
+ sys.modules['Module'] = Module
+ self.addCleanup(sys.modules.pop, 'Module')
+ suite = unittest.TestSuite([Foo('test_foo')])
+ suite(result)
+ self.assertEqual(len(result.errors), 1)
+
+
if __name__ == '__main__':
unittest.main()