summaryrefslogtreecommitdiff
path: root/tests/basic.scm
diff options
context:
space:
mode:
Diffstat (limited to 'tests/basic.scm')
-rw-r--r--tests/basic.scm14
1 files changed, 13 insertions, 1 deletions
diff --git a/tests/basic.scm b/tests/basic.scm
index 6709b7c..1e1ab24 100644
--- a/tests/basic.scm
+++ b/tests/basic.scm
@@ -141,7 +141,19 @@
(assert-run-fibers-returns (75025) (rpc-fib 24))
-;; sleep durations
+(define (check-sleep timeout)
+ (spawn-fiber (lambda ()
+ (let ((start (get-internal-real-time)))
+ (sleep timeout)
+ (let ((elapsed (/ (- (get-internal-real-time) start)
+ 1.0 internal-time-units-per-second)))
+ (format #t "assert sleep ~as < actual ~as: ~a (diff: ~a%)\n"
+ timeout elapsed (<= timeout elapsed)
+ (* 100 (/ (- elapsed timeout) timeout)))
+ (set! failed? (< elapsed timeout)))))))
+
+(assert-run-fibers-terminates
+ (do-times 20 (check-sleep (random 1.0))))
;; timed channel wait