X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Finterface.pure.lisp;h=824c25e781e2b678475c91d51eab79d4fa2715f6;hb=HEAD;hp=8f5d8062fcb9ab13a8678c7d6c6442ce76ae2a3c;hpb=616e16f529572b23dbb4991b49bc7343cf0412bc;p=sbcl.git diff --git a/tests/interface.pure.lisp b/tests/interface.pure.lisp index 8f5d806..824c25e 100644 --- a/tests/interface.pure.lisp +++ b/tests/interface.pure.lisp @@ -70,14 +70,27 @@ ;;; SLEEP should not cons except on 32-bit platforms when ;;; (> (mod seconds 1) (* most-positive-fixnum 1e-9)) (with-test (:name (sleep :non-consing) :fails-on :win32) - (ctu:assert-no-consing (sleep 0.00001s0)) - (locally (declare (notinline sleep)) - (ctu:assert-no-consing (sleep 0.00001s0)) - (ctu:assert-no-consing (sleep 0.00001d0)) - (ctu:assert-no-consing (sleep 1/100000003)))) + (handler-case (sb-ext:with-timeout 5 + (ctu:assert-no-consing (sleep 0.00001s0)) + (locally (declare (notinline sleep)) + (ctu:assert-no-consing (sleep 0.00001s0)) + (ctu:assert-no-consing (sleep 0.00001d0)) + (ctu:assert-no-consing (sleep 1/100000003)))) + (timeout ()))) + +;;; Changes to make SLEEP cons less led to SLEEP +;;; not sleeping at all on 32-bit platforms when +;;; (> (mod seconds 1) (* most-positive-fixnum 1e-9)). +(with-test (:name :bug-1194673) + (assert (eq :timeout + (handler-case + (with-timeout 0.01 + (sleep 0.6)) + (timeout () + :timeout))))) ;;; SLEEP should work with large integers as well -(with-test (:name (sleep pretty-much-forever)) +(with-test (:name (sleep :pretty-much-forever)) (assert (eq :timeout (handler-case (sb-ext:with-timeout 1 @@ -155,3 +168,10 @@ (funcall fun1 1/7) (funcall fun1 1/100000000000000000000000000) (assert (< (- (get-universal-time) start-time) 2)))) + +(with-test (:name :version-assert-ok) + (sb-ext:assert-version->= 1 1 13)) + +(with-test (:name :version-assert-fails) + (assert (raises-error? + (sb-ext:assert-version->= most-positive-fixnum))))