X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Finterface.test.sh;h=96ef3cfc26970046be5ddbc6d6c5ec826de074ce;hb=260de2062fca170efdac3e42491d7d866c2d2e56;hp=9cbaf23a1d3563f57e1b36893436bf6e5448eef5;hpb=c5e9ad7d244be10589cf079e36422ffe005d0e67;p=sbcl.git diff --git a/tests/interface.test.sh b/tests/interface.test.sh index 9cbaf23..96ef3cf 100644 --- a/tests/interface.test.sh +++ b/tests/interface.test.sh @@ -19,8 +19,6 @@ use_test_subdirectory tmpscript=$TEST_FILESTEM.lisp-script -printenv - # bug 881445 case "$SBCL_MACHINE_TYPE" in X86-64) @@ -36,4 +34,22 @@ EOF ;; esac +run_sbcl --eval '(sb-ext:exit)' +check_status_maybe_lose "simple exit" $? 0 "ok" + +run_sbcl --eval '(sb-ext:exit :code 42)' +check_status_maybe_lose "exit with code" $? 42 "ok" + +run_sbcl --eval '(progn (defvar *exit-code* 100) (push (lambda () (exit :code (decf *exit-code*))) *exit-hooks*) #+sb-thread (sb-thread:make-thread (lambda () (exit :code 13))) #-sb-thread (exit :code 13))' +check_status_maybe_lose "exit with code" $? 99 "ok" + +run_sbcl --eval '(unwind-protect (sb-ext:exit :code 13 :abort t) (sb-ext:exit :code 7 :abort t))' +check_status_maybe_lose "exit with abort" $? 13 "ok" + +run_sbcl --eval '(unwind-protect (sb-ext:exit :code 0 :abort t) (sb-ext:exit :code 7 :abort t))' +check_status_maybe_lose "exit with abort and code 0" $? 0 "ok" + +run_sbcl --eval '(unwind-protect (sb-ext:exit :code 0 :abort nil) (sb-ext:exit :code 7))' +check_status_maybe_lose "exit with abort and code 0" $? 7 "ok" + exit $EXIT_TEST_WIN