X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Finterface.test.sh;h=96ef3cfc26970046be5ddbc6d6c5ec826de074ce;hb=9304704f68a18894fa8eb985b387465e5d25e1d5;hp=df27e044b7fb7de0dd12943e2f6075b9fd2b8296;hpb=224de352559c645b265c31045d596f97d1dec5e4;p=sbcl.git diff --git a/tests/interface.test.sh b/tests/interface.test.sh index df27e04..96ef3cf 100644 --- a/tests/interface.test.sh +++ b/tests/interface.test.sh @@ -34,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