Merge fail reports
This commit is contained in:
parent
81b3188ce7
commit
9f55ee76aa
3 changed files with 43 additions and 54 deletions
|
@ -29,31 +29,7 @@
|
|||
(defmethod assert-expr 'clojure.core/= [msg [_ a & more]]
|
||||
(=-body msg a more))
|
||||
|
||||
(defmethod report :fail
|
||||
[{:keys [type expected actual diffs message] :as event}]
|
||||
(with-test-out
|
||||
(inc-report-counter :fail)
|
||||
(println "\nFAIL in" (testing-vars-str event))
|
||||
(when (seq *testing-contexts*) (println (testing-contexts-str)))
|
||||
(when message (println message))
|
||||
(binding [*out* (pp/get-pretty-writer *out*)]
|
||||
(let [print-expected (fn [actual]
|
||||
(print "expected: ")
|
||||
(pp/pprint expected)
|
||||
(print " actual: ")
|
||||
(pp/pprint actual))]
|
||||
(if (seq diffs)
|
||||
(doseq [[actual [a b]] diffs]
|
||||
(print-expected actual)
|
||||
(print " diff:")
|
||||
(if a
|
||||
(do (print " - ")
|
||||
(pp/pprint a)
|
||||
(print " + "))
|
||||
(print " + "))
|
||||
(when b
|
||||
(pp/pprint b)))
|
||||
(print-expected actual))))))
|
||||
(define-fail-report)
|
||||
;; this code is just yanked from clojure.pprint
|
||||
(defmethod pp/simple-dispatch clojure.lang.IRecord [arec]
|
||||
(pprint-record arec))
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
(ns pjstadig.util
|
||||
(:require #?(:clj [clojure.pprint :as pp]
|
||||
:cljs [cljs.pprint :as pp :include-macros true])))
|
||||
#?(:clj (:use [clojure.test]))
|
||||
(:require #?@(:clj [[clojure.pprint :as pp]]
|
||||
:cljs [[cljs.pprint :as pp :include-macros true]
|
||||
[cljs.test :refer [inc-report-counter! testing-vars-str testing-contexts-str get-current-env]]])))
|
||||
|
||||
(defn- print-seq [aseq]
|
||||
(pp/pprint-logical-block
|
||||
|
@ -27,3 +29,39 @@
|
|||
(pp/pprint-newline :linear)
|
||||
(recur (next aseq)))))))
|
||||
|
||||
(defn- report-
|
||||
[{:keys [type expected actual diffs message] :as event}]
|
||||
#?(:clj (inc-report-counter :fail)
|
||||
:cljs (inc-report-counter! :fail))
|
||||
(println "\nFAIL in" (testing-vars-str event))
|
||||
(when #?(:clj (seq *testing-contexts*)
|
||||
:cljs (:testing-contexts (get-current-env)))
|
||||
(println (testing-contexts-str)))
|
||||
(when message (println message))
|
||||
(binding [*out* (pp/get-pretty-writer *out*)]
|
||||
(let [print-expected (fn [actual]
|
||||
(print "expected: ")
|
||||
(pp/pprint expected)
|
||||
(print " actual: ")
|
||||
(pp/pprint actual))]
|
||||
(if (seq diffs)
|
||||
(doseq [[actual [a b]] diffs]
|
||||
(print-expected actual)
|
||||
(print " diff:")
|
||||
(if a
|
||||
(do (print " - ")
|
||||
(pp/pprint a)
|
||||
(print " + "))
|
||||
(print " + "))
|
||||
(when b
|
||||
(pp/pprint b)))
|
||||
(print-expected actual)))))
|
||||
|
||||
(defn define-fail-report []
|
||||
#?(:clj (defmethod report :fail [& args]
|
||||
(with-test-out
|
||||
(apply report- args)))
|
||||
:cljs (defmethod cljs.test/report [:cljs.test/default :fail]
|
||||
[& args]
|
||||
(apply report- args))))
|
||||
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
(ns pjstadig.run-all
|
||||
(:require [cljs.test
|
||||
:refer [inc-report-counter! testing-vars-str testing-contexts-str get-current-env]
|
||||
:refer-macros [run-all-tests run-tests]]
|
||||
(:require [cljs.test :refer-macros [run-all-tests run-tests]]
|
||||
[pjstadig.humane-test-output.formatting-test]
|
||||
[pjstadig.humane-test-output.records-test]
|
||||
[clojure.data :refer [diff]]
|
||||
|
@ -19,30 +17,7 @@
|
|||
(util/pprint-record amap)
|
||||
(pprint-map amap)))
|
||||
|
||||
(defmethod cljs.test/report [:cljs.test/default :fail]
|
||||
[{:keys [type expected actual diffs message] :as event}]
|
||||
(inc-report-counter! :fail)
|
||||
(println "\nFAIL in" (testing-vars-str event))
|
||||
(when (:testing-contexts (get-current-env)) (println (testing-contexts-str)))
|
||||
(when message (println message))
|
||||
(binding [*out* (pp/get-pretty-writer *out*)]
|
||||
(let [print-expected (fn [actual]
|
||||
(print "expected: ")
|
||||
(pp/pprint expected)
|
||||
(print " actual: ")
|
||||
(pp/pprint actual))]
|
||||
(if (seq diffs)
|
||||
(doseq [[actual [a b]] diffs]
|
||||
(print-expected actual)
|
||||
(print " diff:")
|
||||
(if a
|
||||
(do (print " - ")
|
||||
(pp/pprint a)
|
||||
(print " + "))
|
||||
(print " + "))
|
||||
(when b
|
||||
(pp/pprint b)))
|
||||
(print-expected actual)))))
|
||||
(util/define-fail-report)
|
||||
|
||||
(defn ^:export run []
|
||||
(run-all-tests #"pjstadig.*-test"))
|
||||
|
|
Loading…
Reference in a new issue