Skip to content

Commit c1a621a

Browse files
bugfix: make different threads use different seeds
1 parent 37e6259 commit c1a621a

1 file changed

Lines changed: 18 additions & 17 deletions

File tree

  • src/main/clojure/clojure/test/generative

src/main/clojure/clojure/test/generative/runner.clj

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -144,24 +144,25 @@
144144
(map
145145
#(future
146146
(try
147-
(binding [gen/*seed* (+ % 42)
148-
gen/*rnd* (java.util.Random. gen/*seed*)
149-
*failed* (promise)]
150-
(event/report :test/test :tags #{:begin} :test/seed (+ % 42) :name (test-name test))
151-
(loop [iter 0]
152-
(let [result (run-iter test)
153-
now (System/currentTimeMillis)
154-
failed? (realized? *failed*)]
155-
(if (and (< now (+ start msec))
147+
(let [seed (+ % 42)]
148+
(binding [gen/*seed* seed
149+
gen/*rnd* (java.util.Random. seed)
150+
*failed* (promise)]
151+
(event/report :test/test :tags #{:begin} :test/seed gen/*seed* :name (test-name test))
152+
(loop [iter 0]
153+
(let [result (run-iter test)
154+
now (System/currentTimeMillis)
155+
failed? (realized? *failed*)]
156+
(if (and (< now (+ start msec))
156157
(not failed?))
157-
(recur (inc iter))
158-
(event/report :test/test
159-
:msec (- now start)
160-
:count (inc iter)
161-
:tags #{:end}
162-
:test/result (if failed? :test/fail :test/pass)
163-
:level (if failed? :warn :info)
164-
:name (test-name test))))))
158+
(recur (inc iter))
159+
(event/report :test/test
160+
:msec (- now start)
161+
:count (inc iter)
162+
:tags #{:end}
163+
:test/result (if failed? :test/fail :test/pass)
164+
:level (if failed? :warn :info)
165+
:name (test-name test)))))))
165166
(catch Throwable t
166167
(event/report :error :level :error :exception t :name (test-name test)))))
167168
(range nthreads)))]

0 commit comments

Comments
 (0)