 
 (declare report)
 
-(defn- run-test [project encoding opts]
+(defn- run-test
+  "Given a project name, an encoding and user provided options, run
+  tests against this project."
+  [project encoding opts]
   (println "testing" project "...")
   (let [command (str "../" project "/bin/roundtrip")]
     (if (= encoding :msgpack)

(ns transit.verify
  "Provides tools for testing all transit implementations at
  once. Tests each implementaion with several sources of data:
  exemplar files, problem edn data, problem transit data and generated
  data. In addition, it can capture comparative timing results.

  From the REPL, the main entry point is `verify-all` which takes an

                (contains? impls impl))
        (verify-impl impl (assoc opts :generated-forms forms))))))

(defn read-options
  "Given a sequence of strings which are the command line arguments,
  return an options map."
  [args]
  (reduce (fn [a [[k] v]]
            (case k
              "-impls" (assoc a :impls (set (mapv #(str "transit-" %) v)))
