From ff74b262cfc15a2badc0da675d4afef2a54e9997 Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Thu, 15 Dec 2011 13:36:12 -0500 Subject: [PATCH] Global seed to debug fuzzer timeouts. --- collects/meta/props | 2 +- collects/tests/racket/stress/fuzz.rkt | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/collects/meta/props b/collects/meta/props index 96fcd96bad..cce343dacb 100755 --- a/collects/meta/props +++ b/collects/meta/props @@ -1867,7 +1867,7 @@ path/s is either such a string or a list of them. "collects/tests/racket/stress" responsible (jay) "collects/tests/racket/stress/contract-lifting.rkt" responsible (robby sstrickl) "collects/tests/racket/stress/dict.rkt" drdr:timeout 180 -"collects/tests/racket/stress/fuzz.rkt" responsible (samth mflatt) drdr:command-line (racket "-t" * "--" "-c") drdr:random #t +"collects/tests/racket/stress/fuzz.rkt" responsible (samth mflatt) drdr:command-line (racket "-t" * "--" "-c") drdr:timeout 300 drdr:random #t "collects/tests/racket/stress/module-stack.rkt" drdr:timeout 180 "collects/tests/racket/string-mzlib.rktl" drdr:command-line (racket "-f" *) "collects/tests/racket/string.rktl" drdr:command-line (racket "-f" *) diff --git a/collects/tests/racket/stress/fuzz.rkt b/collects/tests/racket/stress/fuzz.rkt index 1e34085774..1c68bd67fd 100644 --- a/collects/tests/racket/stress/fuzz.rkt +++ b/collects/tests/racket/stress/fuzz.rkt @@ -28,16 +28,22 @@ (for ([i (in-range (quotient len 10000))]) (flip-bit bs (random len))) (with-handlers ([void void]) (run-file bs))) -(let ([seed0 #f] [file #f] [dir #f] [forever? #f]) +(let ([seed0 #f] [file #f] [dir #f] [forever? #f] [global-seed #f]) (command-line #:once-each - ["-s" seed "random seed" (set! seed0 (string->number seed))] ["--oo" "forever" (set! forever? #t)] #:once-any + ["-g" global-seed* "gloabl random seed" (set! global-seed (string->number global-seed*))] + ["-s" seed "random seed" (set! seed0 (string->number seed))] + #:once-any ["-f" file* "filename to run" (set! file file*)] ["-d" dir* "dir to run" (set! dir dir*)] ["-c" "run over all collections" (set! dir (find-collects-dir))] #:args () (void)) + (unless global-seed + (set! global-seed (+ 1 (random (expt 2 30))))) + (printf "Global seed: ~a\n" global-seed) + (random-seed global-seed) (let loop () (cond [file (run file seed0)] [dir (for ([p (in-directory dir)]