describe: show the same information about functions for 'x and #'x.
[sbcl.git] / tests / threads.impure.lisp
index ddd1ef0..5da2c1b 100644 (file)
     (with-mutex (mutex)
       mutex)))
 
-(with-test (:name (:with-mutex :timeout))
-  (let ((m (make-mutex)))
-    (with-mutex (m)
-      (assert (null (join-thread (make-thread
-                                  (lambda ()
-                                    (with-mutex (m :timeout 0.1)
-                                      t)))))))
-    (assert (join-thread (make-thread
-                          (lambda ()
-                            (with-mutex (m :timeout 0.1)
-                              t)))))))
-
 (sb-alien:define-alien-routine "check_deferrables_blocked_or_lose"
     void
   (where sb-alien:unsigned-long))
 
 ;;;; Now the real tests...
 
+(with-test (:name (:with-mutex :timeout))
+  (let ((m (make-mutex)))
+    (with-mutex (m)
+      (assert (null (join-thread (make-thread
+                                  (lambda ()
+                                    (with-mutex (m :timeout 0.1)
+                                      t)))))))
+    (assert (join-thread (make-thread
+                          (lambda ()
+                            (with-mutex (m :timeout 0.1)
+                              t)))))))
+
 (with-test (:name (:interrupt-thread :deferrables-unblocked-by-lock))
   (let ((lock (sb-thread::make-mutex))
         (thread (make-join-thread (lambda ()
     (format o "void loop_forever() { while(1) ; }~%"))
   (sb-ext:run-program "/bin/sh"
                       '("run-compiler.sh" "-sbcl-pic" "-sbcl-shared"
-                        "-o" "threads-foreign.so" "threads-foreign.c")
-                      :environment (test-util::test-env))
+                        "-o" "threads-foreign.so" "threads-foreign.c"))
   (sb-alien:load-shared-object (truename "threads-foreign.so"))
   (sb-alien:define-alien-routine loop-forever sb-alien:void)
   (delete-file "threads-foreign.c"))
                (sb-thread:join-thread reader)))))
       (writer))
     (assert (eq result :ok))))
+
+(with-test (:name :thread-alloca)
+  (sb-ext:run-program "sh"
+                      '("run-compiler.sh" "-sbcl-pic" "-sbcl-shared"
+                        "alloca.c" "-o" "alloca.so")
+                      :search t)
+  (load-shared-object (truename "alloca.so"))
+
+  (alien-funcall (extern-alien "alloca_test" (function void)))
+  (sb-thread:join-thread
+   (sb-thread:make-thread
+    (lambda ()
+      (alien-funcall (extern-alien "alloca_test" (function void)))))))