wip [skip ci]

This commit is contained in:
Michiel Borkent 2024-10-30 22:15:24 +01:00
parent 107fc028f2
commit d9c9b00c90
2 changed files with 18 additions and 5 deletions

View file

@ -297,6 +297,7 @@
current assertion."
{:added "1.1"}
[m]
(prn :m m)
(let [{:keys [file line]} m]
(str
;; Uncomment to include namespace in failure report:
@ -354,6 +355,7 @@
to pass test results to report."
{:added "1.2"}
[m]
(prn (:type m))
(report
(case
(:type m)
@ -363,7 +365,10 @@
(str/starts-with? cl-name "clojure.test$")
(str/starts-with? cl-name "clojure.core$ex_info")))
(.getStackTrace (Thread/currentThread)))) m)
:error (merge (stacktrace-file-and-line (.getStackTrace ^Throwable (:actual m))) m)
:error (do
(prn :>> (ex-data (:actual m)))
(let [{:keys [line file]} (ex-data (:actual m))]
(merge {:file file :line line} m))) #_(merge (stacktrace-file-and-line (.getStackTrace ^Throwable (:actual m))) m)
m)))
(defmethod report :default [m]
@ -534,6 +539,7 @@
:expected '~form, :actual e#})))
e#))))
(prn :reload)
(defmacro try-expr
"Used by the 'is' macro to catch unexpected exceptions.
@ -541,9 +547,16 @@
{:added "1.1"}
[msg form]
`(try ~(assert-expr msg form)
(catch Throwable t#
(do-report {:type :error, :message ~msg,
:expected '~form, :actual t#}))))
;; TODO: make SCI catch Throwable as well
(catch ~(with-meta 'Exception {:sci/error true}) t#
(let [cause# (ex-cause t#)
exd# (ex-data t#)
file# (:file exd#)
line# (:line exd#)]
(do-report (cond-> {:type :error, :message ~msg,
:expected '~form, :actual cause#}
file# (assoc :file file#)
line# (assoc :line line#)))))))

View file

@ -122,6 +122,6 @@ true")))))
(deftest testing-vars-str-test
(is (str/includes?
(bb "(clojure.test/testing-vars-str {:file \"x\" :line 1})")
(bb "(require 'clojure.test) (clojure.test/testing-vars-str {:file \"x\" :line 1})")
"() (x:1)")
"includes explicit line number + file name in test report"))