(assert t))))
(sleep 6)
(assert t))
+
+
+(defun random-type (n)
+ `(integer ,(random n) ,(+ n (random n))))
+
+;;; FIXME: Since timeouts do not work on Windows this would loop
+;;; forever.
+#-win32
+(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))))))))