diff options
-rw-r--r-- | src/clj/clojure/test.clj | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/clj/clojure/test.clj b/src/clj/clojure/test.clj index 60a887eb..b341fcc0 100644 --- a/src/clj/clojure/test.clj +++ b/src/clj/clojure/test.clj @@ -683,11 +683,14 @@ (defn run-tests "Runs all tests in the given namespaces; prints results. - Defaults to current namespace if none given." + Defaults to current namespace if none given. Returns a map + summarizing test results." ([] (run-tests *ns*)) ([& namespaces] - (report (assoc (apply merge-with + (map test-ns namespaces)) - :type :summary)))) + (let [summary (assoc (apply merge-with + (map test-ns namespaces)) + :type :summary)] + (report summary) + summary))) (defn run-all-tests "Runs all tests in all namespaces; prints results. @@ -696,3 +699,10 @@ tested." ([] (apply run-tests (all-ns))) ([re] (apply run-tests (filter #(re-matches re (name (ns-name %))) (all-ns))))) + +(defn successful? + "Returns true if the given test summary indicates all tests + were successful, false otherwise." + [summary] + (and (zero? (:fail summary)) + (zero? (:error summary)))) |