       (let [after-fn (when after
                        `(fn ~(vec (concat (first after) locals))
                           ~@after))]
-        `(def ~name (with-meta (Context ~contexts ~before-fn ~after-fn)
-                      '~m))))))
+        `(def ~name (Context ~contexts ~before-fn ~after-fn '~m nil))))))
 
 
 ;;; TEST RUNNING STRATEGIES

          contexts (vec (map (comp coerce-context second) (partition 2 bindings)))]
      (assert (every? symbol locals))
      `(def ~name
            (with-meta (TestCase ~contexts
                                 ~(loop [r [], as assertions]
                                    (if (seq as)
                                      (if (string? (first as))
                                        (recur (conj r `(with-meta (fn ~locals ~(second as))
                                                          {:doc ~(first as), :form '~(second as),
                                                           :file *file*, :line @Compiler/LINE}))
                                               (nnext as))
                                        (recur (conj r `(with-meta (fn ~locals ~(first as))
                                                          {:form '~(first as),
                                                           :file *file*, :line @Compiler/LINE}))
                                               (next as)))
                                      r)))
              '~m)))))

(defmacro defsuite
  "Defines a test suite containing other test cases or suites.

        contexts (first decl)
        children (next decl)]
    (assert (vector? contexts))
    `(def ~name (TestCase ~contexts ~(vec children) '~m nil))))


;;; TEST RESULT HANDLING
