Fix make-array transforms.
[sbcl.git] / tests / clocc-ansi.test.sh
index b9d8bf8..1e4cba9 100644 (file)
@@ -1,6 +1,8 @@
 #!/bin/sh
 
-# Run clocc's ansi-test suite on SBCL.
+# Run clocc's ansi-test suite on SBCL (if you set the appropriate
+# environment variable so that the test suite, a separate piece of
+# software, can be found).
 #
 # This is implemented as a shell script because ansi-test likes to
 # report its errors on standard output and it's convenient to use the
 # 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.
 
-# Remember where we came from so we can find local support files later.
-originalpwd=`pwd`
+. ./subr.sh
 
 # Find clocc ansi-test (or just punt, returning success).
+set +u
 if [ "$SBCL_CLOCC_ANSI_TEST" = "" ] ; then
-    echo punting clocc ansi-test because SBCL_CLOCC_ANSI_TEST is undefined
-    exit 104
-else 
+    echo //punting clocc ansi-test because SBCL_CLOCC_ANSI_TEST is undefined
+    exit $EXIT_TEST_WIN
+else
+    echo //going on to run clocc ansi-test in $SBCL_CLOCC_ANSI_TEST
     cd $SBCL_CLOCC_ANSI_TEST
 fi
+set -u
 
 # The condition system is for the weak.
 tmpprefix="${TMPDIR:-/tmp}/sbcl-clocc-ansi-test-$$"
@@ -40,14 +44,15 @@ rawfilename="$tmpprefix-raw.tmp"
 bugsfilename="$tmpprefix-bugs.tmp"
 
 # Go SBCL go.
-$SBCL <<EOF | tee $rawfilename
+run_sbcl <<EOF >$rawfilename
 (in-package :cl-user)
 ;;; Tell ansi-test about our known bugs.
-(load "$originalpwd/clocc-ansi-test-known-bugs.lisp")
+(load "$SBCL_PWD/clocc-ansi-test-known-bugs.lisp")
 ;;; Actually run ansi-test.
 (load "tests.lisp")
 ;;; Return a special status code to show that we reached the end
 ;;; normally instead of taking a dirt nap.
+(print "back from ansi-test tests.lisp")
 (sb-ext:quit :unix-status 52)
 EOF
 if [ $? != 52 ]; then
@@ -55,8 +60,8 @@ if [ $? != 52 ]; then
     exit 1
 fi
 
-# Klingon programmers detect errors by searching for error tags in
-# standard output.
+# Klingon programmers handle errors by recognizing error strings
+# in standard output.
 if egrep 'ERROR!!' $rawfilename > $bugsfilename; then
     # new bugs, better luck next time
     cat $bugsfilename