diff options
author | Michael Foord <michael@python.org> | 2011-03-17 17:58:22 (GMT) |
---|---|---|
committer | Michael Foord <michael@python.org> | 2011-03-17 17:58:22 (GMT) |
commit | e9ff2ef20488eb3d1e8bba04516939585f35a148 (patch) | |
tree | e92d21272c822a9b4beb170aa6a4a71a48eb1fa6 /Lib/unittest/test | |
parent | f694a409aadf04e67d4e72a6f8e45dcbe34ab6e5 (diff) | |
parent | f40834f39b7bf1e667fbe040fe869232d2488f60 (diff) | |
download | cpython-e9ff2ef20488eb3d1e8bba04516939585f35a148.zip cpython-e9ff2ef20488eb3d1e8bba04516939585f35a148.tar.gz cpython-e9ff2ef20488eb3d1e8bba04516939585f35a148.tar.bz2 |
Closes issue 10979. unittest buffering now works with class and module setup and teardown
Diffstat (limited to 'Lib/unittest/test')
-rw-r--r-- | Lib/unittest/test/test_result.py | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/Lib/unittest/test/test_result.py b/Lib/unittest/test/test_result.py index 64798a1..1c58e61 100644 --- a/Lib/unittest/test/test_result.py +++ b/Lib/unittest/test/test_result.py @@ -497,5 +497,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() |