Fix make-array transforms.
[sbcl.git] / tests / finalize.test.sh
index d19df75..ded7232 100644 (file)
@@ -4,11 +4,14 @@
 # hang the test-suite, as the typical failure mode used to be SBCL
 # hanging uninterruptible in GC.
 
-echo //entering finalize.test.sh
+. ./subr.sh
+
+use_test_subdirectory
 
-rm -f finalize-test-passed finalize-test-failed
+echo //entering finalize.test.sh
 
-${SBCL:-sbcl} <<EOF > /dev/null &
+# $! is not set correctly when calling run_sbcl, do it directly
+"$SBCL_RUNTIME" --core "$SBCL_CORE" $SBCL_ARGS <<EOF > /dev/null &
 (defvar *tmp* 0.0)
 (defvar *count* 0)
 
@@ -16,15 +19,15 @@ ${SBCL:-sbcl} <<EOF > /dev/null &
   (declare (ignore _))
   nil)
 
-(let ((junk (mapcar (lambda (_)
-                      (declare (ignore _))
-                      (let ((x (gensym)))
-                          (finalize x (lambda ()
-                                        ;; cons in finalizer
-                                        (setf *tmp* (make-list 10000))
-                                        (incf *count*)))
-                          x))
-                     (make-list 10000))))
+(let ((junk (mapcar (compile nil '(lambda (_)
+                                   (declare (ignore _))
+                                   (let ((x (gensym)))
+                                     (finalize x (lambda ()
+                                                   ;; cons in finalizer
+                                                   (setf *tmp* (make-list 10000))
+                                                   (incf *count*)))
+                                     x)))
+                    (make-list 10000))))
     (setf junk (foo junk))
     (foo junk))
 
@@ -48,11 +51,11 @@ while true; do
     if [ -f finalize-test-passed ]; then
         echo "OK"
         rm finalize-test-passed
-        exit 104 # Success
+        exit $EXIT_TEST_WIN
     elif [ -f finalize-test-failed ]; then
         echo "Failed"
         rm finalize-test-failed
-        exit 1 # Failure
+        exit $EXIT_LOSE
     fi
     sleep 1
     WAITED="x$WAITED"
@@ -60,7 +63,7 @@ while true; do
         echo
         echo "timeout, killing SBCL"
         kill -9 $SBCL_PID
-        exit 1 # Failure, SBCL probably hanging in GC
+        exit $EXIT_LOSE # Failure, SBCL probably hanging in GC
     fi
 done