X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=tests%2Ftime.pure.lisp;h=475918b0e2d73cedea39822ed1019cde8cb1c6c7;hb=063e696d6151fd6329677216646e872731e6a85d;hp=df19ec028109defaa0008aa291e93f7c7b1eee8c;hpb=7c07a6f965c51828d8f452b47e0620d8e6cf2959;p=sbcl.git diff --git a/tests/time.pure.lisp b/tests/time.pure.lisp index df19ec0..475918b 100644 --- a/tests/time.pure.lisp +++ b/tests/time.pure.lisp @@ -11,40 +11,19 @@ (in-package "CL-USER") -;;; Test for monotonicity of GET-INTERNAL-RUN-TIME. -#+nil ; FIXME: This test can't work as long as - ; (FUNCALL (COMPILE NIL (LAMBDA (X) (+ X 12))) 44) - ; fails with - ; # was defined in a non-null environment. +;;; Test for monotonicity of GET-INTERNAL-RUN-TIME. (On OpenBSD, this +;;; is not a given, because of a longstanding bug in getrusage().) (funcall (compile nil - (lambda (n-seconds) - (declare (type fixnum n-seconds)) - (let* ((n-internal-time-units - (* n-seconds - internal-time-units-per-second)) - (time0 (get-internal-run-time)) - (time1 (+ time0 n-internal-time-units))) - (loop - (let ((time (get-internal-run-time))) - (assert (>= time time0)) - (when (>= time time1) - (return))))))) + '(lambda (n-seconds) + (declare (type fixnum n-seconds)) + (let* ((n-internal-time-units + (* n-seconds + internal-time-units-per-second)) + (time0 (get-internal-run-time)) + (time1 (+ time0 n-internal-time-units))) + (loop + (let ((time (get-internal-run-time))) + (assert (>= time time0)) + (when (>= time time1) + (return))))))) 3) - -(locally - (declare (notinline mapcar)) - (mapcar (lambda (args) - (destructuring-bind (obj type-spec result) args - (flet ((matches-result? (x) - (eq (if x t nil) result))) - (assert (matches-result? (typep obj type-spec))) - (assert (matches-result? (sb-kernel:ctypep - obj - (sb-kernel:specifier-type - type-spec))))))) - '((nil (or null vector) t) - (nil (or number vector) nil) - (12 (or null vector) nil) - (12 (and (or number vector) real) t)))) - - \ No newline at end of file