From: stassats <sta...@us...> - 2013-06-03 09:52:21
|
The branch "master" has been updated in SBCL: via d06e99b8e2f7901a6774b2d7da0f1ae1bc6dd8d5 (commit) from 13909586f2c9f3397c3a276c7b6f92d62089f9e2 (commit) - Log ----------------------------------------------------------------- commit d06e99b8e2f7901a6774b2d7da0f1ae1bc6dd8d5 Author: Stas Boukarev <sta...@gm...> Date: Mon Jun 3 13:52:06 2013 +0400 Fix sleep on ratios, avoiding consing. Enable sleep tests for some platforms. --- src/code/toplevel.lisp | 2 +- tests/interface.pure.lisp | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/code/toplevel.lisp b/src/code/toplevel.lisp index 1c00f03..6eb9227 100644 --- a/src/code/toplevel.lisp +++ b/src/code/toplevel.lisp @@ -181,7 +181,7 @@ means to wait indefinitely.") (multiple-value-bind (quot rem) (truncate (numerator seconds) (denominator seconds)) (values quot - (truncate (* rem (/ 1000000000 (denominator seconds))))))) + (* rem (truncate 1000000000 (denominator seconds)))))) (t (multiple-value-bind (sec frac) (truncate seconds) diff --git a/tests/interface.pure.lisp b/tests/interface.pure.lisp index 8a4d2fd..2a5c3d6 100644 --- a/tests/interface.pure.lisp +++ b/tests/interface.pure.lisp @@ -68,12 +68,15 @@ (sleep 2)))) ;;; SLEEP should not cons -(with-test (:name (sleep :non-consing) :fails-on '(or (not :x86-64) :win32)) - (ctu:assert-no-consing (sleep 0.00001))) +(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/100000000000000)))) -;;; SLEEP should work with large integers as well -- no timers -;;; on win32, so don't test there. -(with-test (:name (sleep pretty-much-forever) :skipped-on :win32) +;;; SLEEP should work with large integers as well +(with-test (:name (sleep pretty-much-forever)) (assert (eq :timeout (handler-case (sb-ext:with-timeout 1 ----------------------------------------------------------------------- hooks/post-receive -- SBCL |