summaryrefslogtreecommitdiff
path: root/tests/cmdline/cmd_module_atexit_exc.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/cmdline/cmd_module_atexit_exc.py')
-rw-r--r--tests/cmdline/cmd_module_atexit_exc.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/cmdline/cmd_module_atexit_exc.py b/tests/cmdline/cmd_module_atexit_exc.py
new file mode 100644
index 000000000..88940a774
--- /dev/null
+++ b/tests/cmdline/cmd_module_atexit_exc.py
@@ -0,0 +1,19 @@
+# cmdline: -m cmdline.cmd_module_atexit_exc
+#
+# Test running as a module and using sys.atexit, with script completion via sys.exit.
+
+import sys
+
+if not hasattr(sys, "atexit"):
+ print("SKIP")
+ raise SystemExit
+
+# Verify we ran as a module.
+print(sys.argv)
+
+sys.atexit(lambda: print("done"))
+
+print("start")
+
+# This will raise SystemExit to finish the script, and atexit should still be run.
+sys.exit(0)