summaryrefslogtreecommitdiffstats
path: root/Lib/unittest/test/test_break.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/unittest/test/test_break.py')
-rw-r--r--Lib/unittest/test/test_break.py42
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()