From 463c32c61d59ad908523517f25a9b39ef4e874c5 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Fri, 5 Feb 2016 08:05:22 -0700 Subject: [PATCH] make `alarm-evt` tests more likely to pass The `alarm-evt` tests are inherently racy, since they depend on the scheduler polling quickly enough. The old time values were close enough that a test failure is particularly likely on Windows, where the clock resolution is around 16ms. To reduce failures, make the time differents much bigger. Closes issue #1232 --- pkgs/racket-test-core/tests/racket/sync.rktl | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/pkgs/racket-test-core/tests/racket/sync.rktl b/pkgs/racket-test-core/tests/racket/sync.rktl index c7d1220aef..51e27d4ab5 100644 --- a/pkgs/racket-test-core/tests/racket/sync.rktl +++ b/pkgs/racket-test-core/tests/racket/sync.rktl @@ -234,12 +234,16 @@ (wrap-evt (alarm-evt (+ (current-inexact-milliseconds) (* 1000 amt))) (lambda (v) amt)))))]) - (test #f sync/timeout 0.1 (make-delay 0.15) (make-delay 0.2)) - (test 0.15 sync/timeout 18 (make-delay 0.15) (make-delay 0.2)) - (test 0.15 sync/timeout 18 (make-delay 0.2) (make-delay 0.15)) - (test 0.15 sync/timeout 0.18 (make-delay 0.15) (make-delay 0.2)) - (test 0.15 sync/timeout 18 - (choice-evt (make-delay 0.2) (make-delay 0.15)))) + (define fast SYNC-SLEEP-DELAY) + (define slow1 (* 100 SYNC-SLEEP-DELAY)) + (define slow2 (* 99 SYNC-SLEEP-DELAY)) + (test #f sync/timeout fast (make-delay slow1) (make-delay slow1)) + (test fast sync/timeout slow1 (make-delay fast) (make-delay slow2)) + (test fast sync/timeout slow1 (make-delay slow2) (make-delay fast)) + (test fast sync/timeout slow2 (make-delay fast) (make-delay slow1)) + (test fast sync/timeout slow2 (make-delay slow1) (make-delay fast)) + (test fast sync/timeout slow2 + (choice-evt (make-delay slow1) (make-delay fast)))) ;;check flattening of choice evts returned by a guard: (let ()