From: Antoine Pitrou Date: Wed, 13 Dec 2017 10:53:59 +0000 (+0100) Subject: [3.6] Test atexit shutdown mechanism in a subprocess (GH-4828) (#4829) X-Git-Tag: v3.6.5rc1~210 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b6263ca313d9806a4b7f1a3a3441d54e6338cc94;p=python [3.6] Test atexit shutdown mechanism in a subprocess (GH-4828) (#4829) * Test atexit shutdown mechanism in a subprocess. (cherry picked from commit fc5db95e0063eafa2bfb7f487fcaad5a7c4b65a1) --- diff --git a/Lib/test/test_atexit.py b/Lib/test/test_atexit.py index 1d0b018aaf..aa56388ef6 100644 --- a/Lib/test/test_atexit.py +++ b/Lib/test/test_atexit.py @@ -3,6 +3,7 @@ import unittest import io import atexit from test import support +from test.support import script_helper ### helpers def h1(): @@ -152,6 +153,21 @@ class GeneralTest(unittest.TestCase): atexit._run_exitfuncs() self.assertEqual(l, [5]) + def test_shutdown(self): + # Actually test the shutdown mechanism in a subprocess + code = """if 1: + import atexit + + def f(msg): + print(msg) + + atexit.register(f, "one") + atexit.register(f, "two") + """ + res = script_helper.assert_python_ok("-c", code) + self.assertEqual(res.out.decode().splitlines(), ["two", "one"]) + self.assertFalse(res.err) + @support.cpython_only class SubinterpreterTest(unittest.TestCase):