       (clojure.pprint/pprint testsuite)
       (throw t))))
 
+(def default-failure-report
+  {:errors 0
+   :failures 0
+   :tests 0
+   :skipped 0})
+
+(defn merge-default [m]
+  (merge default-failure-report m))
+
 (defn find-failures [dir]
   (when dir
     (->> dir

         (map #(.toURI %))
         (map #(.toURL %))
         (map x/xml-resource)
         (map make-failure-report)
         (filter identity)
         (reduce combine-failure-reports {:errors 0
                                          :failures 0
                                          :tests 0

            [clojure.string :as str]
            [net.cgrand.enlive-html :as x]))

(defn maybe-update [m ks f & x]
  (into m (for [[k v] (select-keys m ks)]
            [k (apply f v x)])))

(defn testcase-meta [xml]
  (-> xml
      (x/select [[(x/attr= :errors)
