X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Ftime.pure.lisp;h=475918b0e2d73cedea39822ed1019cde8cb1c6c7;hb=986ce2596822cc0871b609346aaf592348aca596;hp=ab40157a50e06f420c84b7dc8a64f91b6b9d185c;hpb=d45e8a2e9167150c8283783152d2449bd8d59d2d;p=sbcl.git diff --git a/tests/time.pure.lisp b/tests/time.pure.lisp index ab40157..475918b 100644 --- a/tests/time.pure.lisp +++ b/tests/time.pure.lisp @@ -11,36 +11,19 @@ (in-package "CL-USER") -;;; Test for monotonicity of GET-INTERNAL-RUN-TIME. +;;; 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