X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Ftimer.impure.lisp;h=8531430bbee3b1a644907b990447046e85f69e0c;hb=1dc3a468ba32755c51747d6e85ed32d989f2dd49;hp=220c6595cceadb09a3933aa3ee0e6038398894e2;hpb=b3907e261afc6af9954b8232b662e04f519f8158;p=sbcl.git diff --git a/tests/timer.impure.lisp b/tests/timer.impure.lisp index 220c659..8531430 100644 --- a/tests/timer.impure.lisp +++ b/tests/timer.impure.lisp @@ -140,3 +140,21 @@ (assert t)))) (sleep 6) (assert t)) + + +(defun random-type (n) + `(integer ,(random n) ,(+ n (random n)))) + +(with-test (:name '(:hash-cache :interrupt)) + (let* ((type1 (random-type 500)) + (type2 (random-type 500)) + (wanted (subtypep type1 type2))) + (dotimes (i 100) + (block foo + (sb-ext:schedule-timer (sb-ext:make-timer + (lambda () + (assert (eq wanted (subtypep type1 type2))) + (return-from foo))) + 0.05) + (loop + (assert (eq wanted (subtypep type1 type2))))))))