         [bake.reload :only [last-reloaded last-modified reload]]
         [bake.notify :only [notify]]
         [bake.clj-stacktrace])
-  (:import [java.io StringWriter IOException]))
+  (:import [java.io StringWriter IOException PrintWriter]))
 
 (defn test-vars [nses {:keys [tags functions namespaces]}]
   (let [run? (fn [ns]

                                    (ns-publics ns)))))
            {} nses)))

(def ^:dynamic *ns-results*)
(def ^:dynamic *current-test*)

(defn reset-streams! []
  (set! *out* (StringWriter.))
  (set! *err* *out*))

(defn unprintable? [obj]

              *test-out* (StringWriter.)
              *out* *out* ;; this is so it gets restored
              *err* *err*
              *string-writer* nil
              *report-counters* (ref *initial-report-counters*)
              *ns-results* (atom {})
              *current-test* nil]
