diff options
| author | Damien George <damien@micropython.org> | 2025-09-22 11:41:36 +1000 |
|---|---|---|
| committer | Damien George <damien@micropython.org> | 2025-09-23 14:13:37 +1000 |
| commit | bf08f601fa67f005d5f21095b8fd455f7c7e7fab (patch) | |
| tree | d224c3168f9ef79a71a066770267711c75ef644e | |
| parent | 8c389db6ea552a7a5bfcb2de644bc3e8849ef521 (diff) | |
tests/cmdline: Add tests for using -m combined with sys.atexit.
Signed-off-by: Damien George <damien@micropython.org>
| -rw-r--r-- | tests/cmdline/cmd_module_atexit.py | 16 | ||||
| -rw-r--r-- | tests/cmdline/cmd_module_atexit.py.exp | 3 | ||||
| -rw-r--r-- | tests/cmdline/cmd_module_atexit_exc.py | 19 | ||||
| -rw-r--r-- | tests/cmdline/cmd_module_atexit_exc.py.exp | 3 |
4 files changed, 41 insertions, 0 deletions
diff --git a/tests/cmdline/cmd_module_atexit.py b/tests/cmdline/cmd_module_atexit.py new file mode 100644 index 000000000..100bc1127 --- /dev/null +++ b/tests/cmdline/cmd_module_atexit.py @@ -0,0 +1,16 @@ +# cmdline: -m cmdline.cmd_module_atexit +# +# Test running as a module and using sys.atexit. + +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") diff --git a/tests/cmdline/cmd_module_atexit.py.exp b/tests/cmdline/cmd_module_atexit.py.exp new file mode 100644 index 000000000..2a0f756b1 --- /dev/null +++ b/tests/cmdline/cmd_module_atexit.py.exp @@ -0,0 +1,3 @@ +['cmdline.cmd_module_atexit', 'cmdline/cmd_module_atexit.py'] +start +done 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) diff --git a/tests/cmdline/cmd_module_atexit_exc.py.exp b/tests/cmdline/cmd_module_atexit_exc.py.exp new file mode 100644 index 000000000..6320d9d2d --- /dev/null +++ b/tests/cmdline/cmd_module_atexit_exc.py.exp @@ -0,0 +1,3 @@ +['cmdline.cmd_module_atexit_exc', 'cmdline/cmd_module_atexit_exc.py'] +start +done |
