backport the atexit test for r66563

This commit is contained in:
Benjamin Peterson 2008-09-23 20:43:09 +00:00
parent 5cd5f12a48
commit a74d675fac
1 changed files with 13 additions and 0 deletions

View File

@ -22,6 +22,19 @@ class TestCase(unittest.TestCase):
atexit._exithandlers = save_handlers atexit._exithandlers = save_handlers
self.assertEqual(s.getvalue(), "h4 (4,) {'kw': 'abc'}\nh4 () {}\nh1\n") self.assertEqual(s.getvalue(), "h4 (4,) {'kw': 'abc'}\nh4 () {}\nh1\n")
def test_badargs(self):
s = StringIO.StringIO()
sys.stdout = sys.stderr = s
save_handlers = atexit._exithandlers
atexit._exithandlers = []
try:
atexit.register(lambda: 1, 0, 0, (x for x in (1,2)), 0, 0)
self.assertRaises(TypeError, atexit._run_exitfuncs)
finally:
sys.stdout = sys.__stdout__
sys.stderr = sys.__stderr__
atexit._exithandlers = save_handlers
def test_order(self): def test_order(self):
# be sure handlers are executed in reverse order # be sure handlers are executed in reverse order
s = StringIO.StringIO() s = StringIO.StringIO()