(save-lisp-and-die "$tmpcore")
EOF
run_sbcl_with_core "$tmpcore" --no-userinit --no-sysinit <<EOF
- (quit :unix-status (foo 10))
+ (exit :code (foo 10))
EOF
check_status_maybe_lose "Basic SAVE-LISP-AND-DIE" $? 21 "(saved core ran)"
run_sbcl <<EOF
(defun bar ()
(format t "~&Callbacks not supported, skipping~%")
- (quit :unix-status 42))
+ (exit :code 42))
#+alien-callbacks
(progn
(sb-alien::define-alien-callback foo int () 42)
- (defun bar () (quit :unix-status (alien-funcall foo))))
+ (defun bar () (exit :code (alien-funcall foo))))
(save-lisp-and-die "$tmpcore")
EOF
run_sbcl_with_core "$tmpcore" --no-userinit --no-sysinit <<EOF
EOF
chmod u+x "$tmpcore"
./"$tmpcore" > "$tmpoutput" --no-userinit --no-sysinit --noprint <<EOF
- (quit :unix-status 71)
+ (exit :code 71)
EOF
status=$?
if [ $status != 71 ]; then
(save-lisp-and-die "$tmpcore" :executable t :save-runtime-options t)
EOF
chmod u+x "$tmpcore"
-./"$tmpcore" --no-userinit --version --eval '(quit)' <<EOF
- (when (equal *posix-argv* '("./$tmpcore" "--version" "--eval" "(quit)"))
- (quit :unix-status 42))
+./"$tmpcore" --no-userinit --version --eval '(exit)' <<EOF
+ (when (equal *posix-argv* '("./$tmpcore" "--version" "--eval" "(exit)"))
+ (exit :code 42))
EOF
status=$?
if [ $status != 42 ]; then
exit 1
fi
+rm "$tmpcore"
+run_sbcl <<EOF
+ (save-lisp-and-die "$tmpcore" :toplevel (lambda () 42)
+ :compression (and (member :sb-core-compression *features*) t))
+EOF
+run_sbcl_with_core "$tmpcore" --no-userinit --no-sysinit
+check_status_maybe_lose "SAVE-LISP-AND-DIE :COMPRESS" $? 0 "(compressed saved core ran)"
+
+rm "$tmpcore"
+run_sbcl <<EOF
+ (save-lisp-and-die "$tmpcore" :toplevel (lambda () 42) :executable t
+ :compression (and (member :sb-core-compression *features*) t))
+EOF
+chmod u+x "$tmpcore"
+./"$tmpcore" --no-userinit --no-sysinit
+check_status_maybe_lose "SAVE-LISP-AND-DIE :EXECUTABLE-COMPRESS" $? 0 "(executable compressed saved core ran)"
+
exit $EXIT_TEST_WIN