 :no-gen     unable to generate :args
 :no-fn      unable to resolve fn to test
 "
-  ([syms] (test syms nil))
-  ([syms opts]
-     (validate-opts opts)
-     (pmap #(test-1 (sym->test-map %) opts) syms)))
+  ([] (test (testable-syms)))
+  ([sym-or-syms] (test sym-or-syms nil))
+  ([sym-or-syms opts]
+     (->> (collectionize sym-or-syms)
+          (filter (testable-syms opts))
+          (pmap
+           #(test-1 (sym->test-map %) opts)))))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; test reporting  ;;;;;;;;;;;;;;;;;;;;;;;;
 
 (defn abbrev-result
   "Given a test result, returns an abbreviated version

    (update (dissoc x ::stc/ret) :spec s/describe)))

(defn summarize-results
  "Given a collection of test-results, e.g. from 'test',
pretty prints the abbrev-result of each.

Returns a map with :total, the total number of results, plus a
key with a count for each different :type of result."
  [test-results]
  (reduce
   (fn [summary result]
     (pp/pprint (abbrev-result result))
     (-> summary
         (update :total inc)
         (update (:type result) (fnil inc 0))))
   {:total 0}
   test-results))




           (.applyTo ^clojure.lang.IFn f args)))
       (.applyTo ^clojure.lang.IFn f args)))))

(defn- no-fn-spec
  [v spec]
  (ex-info (str "Fn at " v " is not spec'ed.")
