File tree Expand file tree Collapse file tree
src/main/clojure/clojure/test/generative Expand file tree Collapse file tree Original file line number Diff line number Diff line change 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,
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))
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 )
Original file line number Diff line number Diff line change 2727 ^String [event]
2828 (event/fqname (or (:ns event)
2929 (:type event)
30- (:name event)
3130 " root" )))
3231
3332(defn event->logback
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)))
Original file line number Diff line number Diff line change 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 )
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"
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"
You can’t perform that action at this time.
0 commit comments