1.0.10.6: nested DX allocation
[sbcl.git] / tests / core.test.sh
index 4a74485..1fd0ad4 100644 (file)
@@ -8,13 +8,14 @@
 # While most of SBCL is derived from the CMU CL system, the test
 # files (like this one) were written from scratch after the fork
 # from CMU CL.
-# 
+#
 # This software is in the public domain and is provided with
 # absolutely no warranty. See the COPYING and CREDITS files for
 # more information.
 
 tmpcore="core-test-sh-$$.core"
-rm -f $tmpcore
+tmpoutput="core-test-sh-$$.output.txt"
+rm -f "$tmpcore" "$tmpoutput"
 
 # In sbcl-0.7.7 SAVE-LISP-AND-DIE didn't work at all because of
 # flakiness caused by consing/GC/purify twice-and-at-least-twice
@@ -41,7 +42,7 @@ fi
 
 # In sbcl-0.9.8 saving cores with callbacks didn't work on gencgc platforms
 $SBCL <<EOF
-  (defun bar () 
+  (defun bar ()
     (format t "~&Callbacks not supported, skipping~%")
     (quit :unix-status 42))
   #+alien-callbacks
@@ -61,6 +62,30 @@ else
     exit 1
 fi
 
-rm -f $tmpcore
+# test suppression of banner in executable cores
+$SBCL <<EOF
+  (save-lisp-and-die "$tmpcore" :executable t)
+EOF
+chmod u+x "$tmpcore"
+./"$tmpcore" >"$tmpoutput" \
+  --no-userinit --no-sysinit --eval '(quit :unix-status 71)'
+if [ $? != 71 ]; then
+  echo "failure in banner suppression: $?"
+  exit 1
+elif [ -s "$tmpoutput" ]; then
+  echo "failure in banner suppression: nonempty output:"
+  echo ---
+  cat "$tmpoutput"
+  echo ---
+  exit 1
+elif [ -f "$tmpoutput" ]; then
+  echo "/Executable suppressed banner, good."
+else
+  echo "failure in banner suppression: $tmpoutput was not created or something funny happened."
+  exit 1
+fi
+
+rm -f "$tmpcore"
+rm -f "$tmpoutput"
 echo "/returning success from core.test.sh"
 exit 104