summaryrefslogtreecommitdiff
path: root/lib/python2.7/test/test_atexit.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python2.7/test/test_atexit.py')
-rw-r--r--lib/python2.7/test/test_atexit.py82
1 files changed, 0 insertions, 82 deletions
diff --git a/lib/python2.7/test/test_atexit.py b/lib/python2.7/test/test_atexit.py
deleted file mode 100644
index bf85b75..0000000
--- a/lib/python2.7/test/test_atexit.py
+++ /dev/null
@@ -1,82 +0,0 @@
-import sys
-import unittest
-import StringIO
-import atexit
-from imp import reload
-from test import test_support
-
-class TestCase(unittest.TestCase):
- def setUp(self):
- s = StringIO.StringIO()
- self.save_stdout = sys.stdout
- self.save_stderr = sys.stderr
- sys.stdout = sys.stderr = self.subst_io = s
- self.save_handlers = atexit._exithandlers
- atexit._exithandlers = []
-
- def tearDown(self):
- sys.stdout = self.save_stdout
- sys.stderr = self.save_stderr
- atexit._exithandlers = self.save_handlers
-
- def test_args(self):
- atexit.register(self.h1)
- atexit.register(self.h4)
- atexit.register(self.h4, 4, kw="abc")
- atexit._run_exitfuncs()
- self.assertEqual(self.subst_io.getvalue(),
- "h4 (4,) {'kw': 'abc'}\nh4 () {}\nh1\n")
-
- def test_badargs(self):
- atexit.register(lambda: 1, 0, 0, (x for x in (1,2)), 0, 0)
- self.assertRaises(TypeError, atexit._run_exitfuncs)
-
- def test_order(self):
- atexit.register(self.h1)
- atexit.register(self.h2)
- atexit.register(self.h3)
- atexit._run_exitfuncs()
- self.assertEqual(self.subst_io.getvalue(), "h3\nh2\nh1\n")
-
- def test_sys_override(self):
- # be sure a preset sys.exitfunc is handled properly
- exfunc = sys.exitfunc
- sys.exitfunc = self.h1
- reload(atexit)
- try:
- atexit.register(self.h2)
- atexit._run_exitfuncs()
- finally:
- sys.exitfunc = exfunc
- self.assertEqual(self.subst_io.getvalue(), "h2\nh1\n")
-
- def test_raise(self):
- atexit.register(self.raise1)
- atexit.register(self.raise2)
- self.assertRaises(TypeError, atexit._run_exitfuncs)
-
- ### helpers
- def h1(self):
- print "h1"
-
- def h2(self):
- print "h2"
-
- def h3(self):
- print "h3"
-
- def h4(self, *args, **kwargs):
- print "h4", args, kwargs
-
- def raise1(self):
- raise TypeError
-
- def raise2(self):
- raise SystemError
-
-def test_main():
- test_support.run_unittest(TestCase)
-
-
-if __name__ == "__main__":
- test_main()