Skip to content

Commit 456ecf8

Browse files
[test-test] Don't print stacktrace during successful test pass
1 parent fcec8c6 commit 456ecf8

File tree

2 files changed

+19
-15
lines changed

2 files changed

+19
-15
lines changed

src/cider/nrepl/middleware/test.clj

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -341,10 +341,6 @@
341341
nil
342342
vars)))
343343
(catch Throwable e
344-
(when (System/getProperty "cider.internal.testing")
345-
;; print stacktrace, in case it didn't have anything to do with fixtures
346-
;; (in which case, things would become very confusing)
347-
(.printStackTrace e))
348344
(report-fixture-error ns e))))))
349345

350346
(defn test-ns

test/clj/cider/nrepl/middleware/test_test.clj

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -138,17 +138,25 @@
138138
(deftest handling-of-tests-with-throwing-fixtures
139139
(require 'cider.nrepl.middleware.test-with-throwing-fixtures)
140140
(testing "If a given deftest's fixture throw an exception, those are gracefully handled"
141-
(let [{{{[{:keys [error]}] :cider.nrepl.middleware.test/unknown} :cider.nrepl.middleware.test-with-throwing-fixtures} :results
142-
:keys [summary status]
143-
:as test-result}
144-
(session/message {:op "test"
145-
:ns "cider.nrepl.middleware.test-with-throwing-fixtures"})]
146-
(testing (pr-str test-result)
147-
(is (= error
148-
"clojure.lang.ExceptionInfo: I'm an exception inside a fixture! {:data 42}"))
149-
(is (= summary
150-
{:error 1, :fail 0, :ns 1, :pass 0, :test 0, :var 0}))
151-
(is (= status #{"done"}))))))
141+
(let [orig-fn cider.nrepl.middleware.test/report-fixture-error]
142+
(with-redefs [cider.nrepl.middleware.test/report-fixture-error
143+
(fn [ns ^Throwable e]
144+
(when-not (= (:data (ex-data e)) 42)
145+
;; Caught wrong exception here, print stacktrace to
146+
;; assist in debugging this.
147+
(.printStackTrace e))
148+
(orig-fn ns e))]
149+
(let [{{{[{:keys [error]}] :cider.nrepl.middleware.test/unknown} :cider.nrepl.middleware.test-with-throwing-fixtures} :results
150+
:keys [summary status]
151+
:as test-result}
152+
(session/message {:op "test"
153+
:ns "cider.nrepl.middleware.test-with-throwing-fixtures"})]
154+
(testing (pr-str test-result)
155+
(is (= "clojure.lang.ExceptionInfo: I'm an exception inside a fixture! {:data 42}"
156+
error))
157+
(is (= {:error 1, :fail 0, :ns 1, :pass 0, :test 0, :var 0}
158+
summary))
159+
(is (= #{"done"} status))))))))
152160

153161
(deftest run-test-with-map-as-documentation-message
154162
(testing "documentation message map is returned as string"

0 commit comments

Comments
 (0)