X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Ftimer.impure.lisp;h=4bbaf9150f392422a5f7825dde9e873317365e69;hb=a5fbc248b7513f19a31e58a591a27868f30354ef;hp=a610eb999a0b8d8256a37de0a54e7e402124e953;hpb=69fe69971242dba6905e9c55f8ce6a9a93c9e403;p=sbcl.git diff --git a/tests/timer.impure.lisp b/tests/timer.impure.lisp index a610eb9..4bbaf91 100644 --- a/tests/timer.impure.lisp +++ b/tests/timer.impure.lisp @@ -114,7 +114,7 @@ (assert (zerop (length (sb-impl::%pqueue-contents sb-impl::*schedule*)))))) (with-test (:name (:timer :other-thread) :skipped-on '(not :sb-thread)) - (let* ((thread (sb-thread:make-thread (lambda () (sleep 2)))) + (let* ((thread (make-kill-thread (lambda () (sleep 2)))) (timer (make-timer (lambda () (assert (eq thread sb-thread:*current-thread*))) :thread thread))) @@ -196,7 +196,8 @@ (defun wait-for-threads (threads) (loop while (some #'sb-thread:thread-alive-p threads) do (sleep 0.01))) -(with-test (:name (:with-timeout :many-at-the-same-time) :skipped-on '(not :sb-thread)) +(with-test (:name (:with-timeout :many-at-the-same-time) + :skipped-on '(not :sb-thread)) (let ((ok t)) (let ((threads (loop repeat 10 collect (sb-thread:make-thread @@ -214,7 +215,7 @@ (assert ok)))) (with-test (:name (:with-timeout :dead-thread) :skipped-on '(not :sb-thread)) - (sb-thread:make-thread + (make-join-thread (lambda () (let ((timer (make-timer (lambda ())))) (schedule-timer timer 3) @@ -245,7 +246,9 @@ ;;; Used to hang occasionally at least on x86. Two bugs caused it: ;;; running out of stack (due to repeating timers being rescheduled ;;; before they ran) and dying threads were open interrupts. -(with-test (:name (:timer :parallel-unschedule) :fails-on :ppc :skipped-on '(not :sb-thread) :broken-on '(or :darwin :ppc)) +(with-test (:name (:timer :parallel-unschedule) + :skipped-on '(not :sb-thread) + :broken-on ':ppc) (let ((timer (sb-ext:make-timer (lambda () 42) :name "parallel schedulers")) (other nil)) (flet ((flop () @@ -295,7 +298,11 @@ #-sb-thread (loop repeat 10 do (test)))) -(with-test (:name (:timer :threaded-stress) :skipped-on '(not :sb-thread)) +(with-test (:name (:timer :threaded-stress) + :skipped-on '(not :sb-thread) + :fails-on :win32) + #+win32 + (error "fixme") (let ((barrier (sb-thread:make-semaphore)) (goal 100)) (flet ((wait-for-goal ()