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