Reduce the numbers of threads in test ATOMIC-UPDATE on 32bit platforms
[sbcl.git] / tests / threads.pure.lisp
index 03da75b..2db34c2 100644 (file)
 
 (with-test (:name atomic-update
             :skipped-on '(not :sb-thread))
-  (let ((x (cons :count 0)))
+  (let ((x (cons :count 0))
+        (nthreads (ecase sb-vm:n-word-bits (32 100) (64 1000))))
     (mapc #'sb-thread:join-thread
           (loop repeat 1000
                 collect (sb-thread:make-thread
                          (lambda ()
-                           (loop repeat 1000
+                           (loop repeat nthreads
                                  do (atomic-update (cdr x) #'1+)
                                     (sleep 0.00001))))))
-    (assert (equal x '(:count . 1000000)))))
+    (assert (equal x `(:count ,@(* 1000 nthreads))))))
 
 (with-test (:name mutex-owner)
   ;; Make sure basics are sane on unithreaded ports as well