Fix lein test exit code when :eval-in :leiningen
Lein test was always exiting with 0 when :eval-in :leiningen was used.
This commit is contained in:
parent
c2e45482c1
commit
37611bfb24
1 changed files with 7 additions and 4 deletions
|
@ -77,8 +77,9 @@
|
|||
summary# (binding [clojure.test/*test-out* *out*]
|
||||
(apply ~'clojure.test/run-tests selected-namespaces#))]
|
||||
(spit ".lein-failures" (pr-str @failures#))
|
||||
(when ~*exit-after-tests*
|
||||
(System/exit (+ (:error summary#) (:fail summary#)))))))))
|
||||
(if ~*exit-after-tests*
|
||||
(System/exit (+ (:error summary#) (:fail summary#)))
|
||||
(+ (:error summary#) (:fail summary#))))))))
|
||||
|
||||
(defn- split-selectors [args]
|
||||
(let [[nses selectors] (split-with (complement keyword?) args)]
|
||||
|
@ -171,6 +172,8 @@ specified test. A default :all test-selector is available to run all tests."
|
|||
(let [project (project/merge-profiles project [:leiningen/test :test])
|
||||
[nses selectors] (read-args tests project)
|
||||
form (form-for-testing-namespaces nses nil (vec selectors))]
|
||||
(try (eval/eval-in-project project form '(require 'clojure.test))
|
||||
(try (when-let [n (eval/eval-in-project project form '(require 'clojure.test))]
|
||||
(when (pos? n)
|
||||
(throw (ex-info "Tests Failed" {:exit-code n}))))
|
||||
(catch clojure.lang.ExceptionInfo e
|
||||
(log/abort "Tests failed."))))))
|
||||
(log/abort "Tests failed."))))))
|
||||
|
|
Loading…
Reference in a new issue