1.0.3.23: fix sb-posix timeval struct
[sbcl.git] / tests / finalize.test.sh
index 3ba4997..06fae1e 100644 (file)
@@ -16,15 +16,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))
 
@@ -41,7 +41,7 @@ ${SBCL:-sbcl} <<EOF > /dev/null &
 EOF
 
 SBCL_PID=$!
-WAITED=0
+WAITED=x
 
 echo "Waiting for SBCL to finish stress-testing finalizers"
 while true; do
@@ -55,8 +55,8 @@ while true; do
         exit 1 # Failure
     fi
     sleep 1
-    WAITED=$(($WAITED+1))
-    if (($WAITED>60)); then
+    WAITED="x$WAITED"
+    if [ $WAITED = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ]; then
         echo
         echo "timeout, killing SBCL"
         kill -9 $SBCL_PID