Skip to content

Commit 228284d

Browse files
reporting tweaks, fix timeslicing
1 parent be0c54b commit 228284d

3 files changed

Lines changed: 37 additions & 33 deletions

File tree

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

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
[]
1818
"Wait for everything sent to the serializer"
1919
(send-off serializer (fn [_]))
20-
(clojure.core/await))
20+
(clojure.core/await serializer))
2121

2222
(defn serialized
2323
"Returns a function that calls f for side effects, async,
@@ -55,7 +55,7 @@
5555

5656
(def last-dot (atom 0))
5757

58-
(defn dot-progress
58+
#_(defn dot-progress
5959
"Prints a dot per event, throttled to ten dots/sec."
6060
[{:keys [tstamp]}]
6161
(when (< 100 (- tstamp @last-dot))
@@ -70,17 +70,20 @@
7070
(reduce
7171
#(apply derive %1 %2)
7272
(make-hierarchy)
73-
[[:test/test :progress]
74-
[:test/iter :progress]
75-
[:test/seed :progress]
76-
[:test/pass :progress]
77-
[:assert/pass :progress]
73+
[[:test/iter :ignore]
74+
[:test/seed :ignore]
75+
[:test/pass :ignore]
76+
[:assert/pass :ignore]
7877
[:assert/summary :ignore]]))
7978

8079
(defmulti console-reporter :type :hierarchy #'report-hierarchy)
8180

82-
(defmethod console-reporter :progress [m] (dot-progress m))
81+
#_(defmethod console-reporter :progress [m] (dot-progress m))
8382
(defmethod console-reporter :ignore [_])
83+
(defmethod console-reporter :test/test
84+
[{:keys [tags msec] :as m}]
85+
(when (and (tags :end))
86+
(println (select-keys m [:msec :test/result :name :count]))))
8487
(defmethod console-reporter :test/group
8588
[{:keys [name tags]}]
8689
(when-not (tags :end)

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
^String [event]
2828
(event/fqname (or (:ns event)
2929
(:type event)
30-
(:name event)
3130
"root")))
3231

3332
(defn event->logback
@@ -36,7 +35,7 @@
3635
(let [name (logger-name event)
3736
logger ^ch.qos.logback.classic.Logger (LoggerFactory/getLogger name)
3837
msg (delay (binding [*print-length* 50]
39-
(pr-str (dissoc event :level :thread :tstamp :name))))
38+
(pr-str (dissoc event :level :thread :tstamp :thread/name))))
4039
level (level->logback (:level event))
4140
logback-event (reify ILoggingEvent
4241
(getThreadName [_] (str (:thread/name event)))

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

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@
8080
(recur (inc iter))
8181
(event/report :test/test
8282
:msec (- now start)
83-
:count iter
83+
:count (inc iter)
8484
:tags #{:end}
8585
:test/result (if failed? :test/fail :test/pass)
8686
:level (if failed? :warn :info)
@@ -91,13 +91,12 @@
9191
(doseq [f futs] @f)))
9292

9393
(defn run-batch
94-
"Run a batch of fs on nthreads each. Try to divide msec
95-
among the fs. Args like run-for."
96-
[tests nthreads msec]
94+
"Run a batch of fs on nthreads each. Call each f repeatedly
95+
for up to test-msec"
96+
[tests nthreads test-msec]
9797
(when (seq tests)
98-
(let [msec-per-f (quot msec (count tests))]
99-
(doseq [test tests]
100-
(run-for test nthreads msec-per-f)))))
98+
(doseq [test tests]
99+
(run-for test nthreads test-msec))))
101100

102101
(defn failed!
103102
"Tell the runner that a test failed"
@@ -131,22 +130,25 @@
131130
(defn run-generative-tests
132131
"Run generative tests."
133132
[nses nthreads msec]
134-
(doseq [ns nses]
135-
(when-let [fs (->> (find-vars-in-namespaces ns)
136-
(filter gentest?)
137-
seq)]
138-
(event/report :test/group
139-
:name ns
140-
:tags #{:begin}
141-
:test/threads nthreads
142-
:test/count (count fs))
143-
(try
144-
(run-batch
145-
fs
146-
nthreads
147-
(quot msec (count nses)))
148-
(finally
149-
(event/report :test/group :tags #{:end} :test/threads nthreads :test/count (count fs)))))))
133+
(let [test-msec (quot msec (count (->> (apply find-vars-in-namespaces nses)
134+
(filter gentest?)
135+
seq)))]
136+
(doseq [ns nses]
137+
(when-let [fs (->> (find-vars-in-namespaces ns)
138+
(filter gentest?)
139+
seq)]
140+
(event/report :test/group
141+
:name ns
142+
:tags #{:begin}
143+
:test/threads nthreads
144+
:test/count (count fs))
145+
(try
146+
(run-batch
147+
fs
148+
nthreads
149+
test-msec)
150+
(finally
151+
(event/report :test/group :tags #{:end} :test/threads nthreads :test/count (count fs))))))))
150152

151153
(defn run-all-tests
152154
"Run generative tests and clojure.test tests"

0 commit comments

Comments
 (0)