From 607389029cfec50f32b73c00a6f66d0a1dbcda23 Mon Sep 17 00:00:00 2001 From: Stuart Sierra Date: Tue, 1 Dec 2009 11:02:54 -0500 Subject: clojure.test/run-tests: return summary, add successful?; refs #193 Reformatted patch. Signed-off-by: Rich Hickey --- src/clj/clojure/test.clj | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src') 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)))) -- cgit v1.2.3-70-g09d2