Diff of /tests/expect.sh [60bb50] .. [bad78f] Maximize Restore

  Switch to side-by-side view

--- a/tests/expect.sh
+++ b/tests/expect.sh
@@ -5,11 +5,22 @@
 # Check that compiling and loading the file $1 generates an error
 # at load time; also that just loading it directly (into the
 # interpreter) generates an error.
+
+# In bash,
+#
+#   function callee() { cat }
+#   function caller() { callee bar <<EOF \n $1 \n EOF \n }
+#   caller foo
+#
+# will print "foo".  In certain versions of sh, however, it will print
+# "bar" instead.  Hence variables f and c in the following code.
+
 expect_load_error ()
 {
     # Test compiling and loading.
+    f="$1"
     run_sbcl <<EOF
-        (compile-file "$1")
+        (compile-file "$f")
         ;;; But loading the file should fail.
         (multiple-value-bind (value0 value1) (ignore-errors (load *))
             (assert (null value0))
@@ -20,8 +31,9 @@
     check_status_maybe_lose compile-and-load $?
 
     # Test loading into the interpreter.
+    f="$1"
     run_sbcl <<EOF
-        (multiple-value-bind (value0 value1) (ignore-errors (load "$1"))
+        (multiple-value-bind (value0 value1) (ignore-errors (load "$f"))
             (assert (null value0))
             (format t "VALUE1=~S (~A)~%" value1 value1)
             (assert (typep value1 'error)))
@@ -33,9 +45,10 @@
 expect_clean_cload ()
 {
     expect_clean_compile $1
+    f="$1"
     run_sbcl <<EOF
         (multiple-value-bind (value0 value1) 
-            (ignore-errors (load (compile-file-pathname "$1")))
+            (ignore-errors (load (compile-file-pathname "$f")))
           (assert value0)
           (assert (null value1)))
         (sb-ext:quit :unix-status $EXIT_LISP_WIN)
@@ -47,9 +60,10 @@
 # STYLE-WARNINGs.
 expect_clean_compile ()
 {
+    f="$1"
     run_sbcl <<EOF
         (multiple-value-bind (pathname warnings-p failure-p)
-            (compile-file "$1")
+            (compile-file "$f")
           (declare (ignore pathname))
           (assert (not warnings-p))
           (assert (not failure-p))
@@ -60,9 +74,10 @@
 
 expect_warned_compile ()
 {
+    f="$1"
     run_sbcl <<EOF
         (multiple-value-bind (pathname warnings-p failure-p)
-            (compile-file "$1")
+            (compile-file "$f")
           (declare (ignore pathname))
           (assert warnings-p)
           (assert (not failure-p))
@@ -73,9 +88,10 @@
 
 expect_failed_compile ()
 {
+    f="$1"
     run_sbcl <<EOF
         (multiple-value-bind (pathname warnings-p failure-p)
-            (compile-file "$1")
+            (compile-file "$f")
           (declare (ignore pathname warnings-p))
           (assert failure-p)
           (sb-ext:quit :unix-status $EXIT_LISP_WIN))
@@ -85,11 +101,12 @@
 
 expect_aborted_compile ()
 {
+    f="$1"
     run_sbcl <<EOF
-        (let* ((lisp "$1")
+        (let* ((lisp "$f")
                (fasl (compile-file-pathname lisp)))
           (multiple-value-bind (pathname warnings-p failure-p)
-              (compile-file "$1" :print t)
+              (compile-file "$f" :print t)
             (assert (not pathname))
             (assert failure-p)
             (assert warnings-p)
@@ -101,9 +118,11 @@
 
 fail_on_condition_during_compile ()
 {
+    c="$1"
+    f="$2"
     run_sbcl <<EOF
-        (handler-bind (($1 #'error))
-          (compile-file "$2")
+        (handler-bind (($c #'error))
+          (compile-file "$f")
           (sb-ext:quit :unix-status $EXIT_LISP_WIN))
 EOF
     check_status_maybe_lose "fail-on-condition_$1" $?
@@ -111,11 +130,13 @@
 
 expect_condition_during_compile ()
 {
+    c="$1"
+    f="$2"
     run_sbcl <<EOF
-        (handler-bind (($1 (lambda (c)
+        (handler-bind (($c (lambda (c)
                              (declare (ignore c))
                              (sb-ext:quit :unix-status $EXIT_LISP_WIN))))
-          (compile-file "$2"))
+          (compile-file "$f"))
 EOF
     check_status_maybe_lose "expect-condition_$1" $?
 }