diff options
Diffstat (limited to 'Lib/unittest/test/test_break.py')
-rw-r--r-- | Lib/unittest/test/test_break.py | 42 |
1 files changed, 23 insertions, 19 deletions
diff --git a/Lib/unittest/test/test_break.py b/Lib/unittest/test/test_break.py index eebd2b6..dab91c1 100644 --- a/Lib/unittest/test/test_break.py +++ b/Lib/unittest/test/test_break.py @@ -1,15 +1,19 @@ import gc -import io import os import sys import signal import weakref +from cStringIO import StringIO + + import unittest @unittest.skipUnless(hasattr(os, 'kill'), "Test requires os.kill") @unittest.skipIf(sys.platform =="win32", "Test cannot run on Windows") +@unittest.skipIf(sys.platform == 'freebsd6', "Test kills regrtest on freebsd6 " + "if threads have been used") class TestBreak(unittest.TestCase): int_handler = None @@ -39,13 +43,16 @@ class TestBreak(unittest.TestCase): def testRegisterResult(self): result = unittest.TestResult() - self.assertNotIn(result, unittest.signals._results) - unittest.registerResult(result) - try: - self.assertIn(result, unittest.signals._results) - finally: - unittest.removeResult(result) + + for ref in unittest.signals._results: + if ref is result: + break + elif ref is not result: + self.fail("odd object in result set") + else: + self.fail("result not found") + def testInterruptCaught(self): default_handler = signal.getsignal(signal.SIGINT) @@ -148,7 +155,7 @@ class TestBreak(unittest.TestCase): def testRunner(self): # Creating a TextTestRunner with the appropriate argument should # register the TextTestResult it creates - runner = unittest.TextTestRunner(stream=io.StringIO()) + runner = unittest.TextTestRunner(stream=StringIO()) result = runner.run(unittest.TestSuite()) self.assertIn(result, unittest.signals._results) @@ -206,7 +213,6 @@ class TestBreak(unittest.TestCase): self.verbosity = verbosity self.failfast = failfast self.catchbreak = catchbreak - self.tb_locals = False self.testRunner = FakeRunner self.test = test self.result = None @@ -216,9 +222,7 @@ class TestBreak(unittest.TestCase): self.assertEqual(FakeRunner.initArgs, [((), {'buffer': None, 'verbosity': verbosity, - 'failfast': failfast, - 'tb_locals': False, - 'warnings': None})]) + 'failfast': failfast})]) self.assertEqual(FakeRunner.runArgs, [test]) self.assertEqual(p.result, result) @@ -231,9 +235,7 @@ class TestBreak(unittest.TestCase): self.assertEqual(FakeRunner.initArgs, [((), {'buffer': None, 'verbosity': verbosity, - 'failfast': failfast, - 'tb_locals': False, - 'warnings': None})]) + 'failfast': failfast})]) self.assertEqual(FakeRunner.runArgs, [test]) self.assertEqual(p.result, result) @@ -262,19 +264,21 @@ class TestBreak(unittest.TestCase): @unittest.skipUnless(hasattr(os, 'kill'), "Test requires os.kill") @unittest.skipIf(sys.platform =="win32", "Test cannot run on Windows") +@unittest.skipIf(sys.platform == 'freebsd6', "Test kills regrtest on freebsd6 " + "if threads have been used") class TestBreakDefaultIntHandler(TestBreak): int_handler = signal.default_int_handler @unittest.skipUnless(hasattr(os, 'kill'), "Test requires os.kill") @unittest.skipIf(sys.platform =="win32", "Test cannot run on Windows") +@unittest.skipIf(sys.platform == 'freebsd6', "Test kills regrtest on freebsd6 " + "if threads have been used") class TestBreakSignalIgnored(TestBreak): int_handler = signal.SIG_IGN @unittest.skipUnless(hasattr(os, 'kill'), "Test requires os.kill") @unittest.skipIf(sys.platform =="win32", "Test cannot run on Windows") +@unittest.skipIf(sys.platform == 'freebsd6', "Test kills regrtest on freebsd6 " + "if threads have been used") class TestBreakSignalDefault(TestBreak): int_handler = signal.SIG_DFL - - -if __name__ == "__main__": - unittest.main() |