Maybe it should be recommended that all printing happens through reporters, and not in hooks, and then hook reporters are added in the config step depending on cli inputs...
idle thought: #clojure-test-suite uses clojure.test because it's built in to all or nearly all dialects. what is the minimum viable lazytest, the most portable version that could be used in place of clojure.test?
"complex" features that jvm clojure.test relies on: dynamic variables, vars, multimethods, printing, binding, refs, syntax-quote, macros, metadata, var metadata, try/catch
"complex" features that lazytest relies on (skipping fancy features like doc tests): • dynamic variables, vars, multimethods, printing, binding, delay, slurp, var-get, metadata, var metadata, requiring-resolve, transducers, ex-info, defrecord, try/catch, syntax-quote, macros • clojure.spec (tho that could be disabled cuz it's only for checking a macro) • whatever features tools.cli uses (i don't know)
i guess clojure-test-suite is using cognitect test runner or similar to load and run the tests
but that merely adds requiring/loading to the list
and then each dialect has a different means of actually running the tests (a hand written javascript runner for cljs, for example)
maybe i should target basilisp first to help remove all of the JVM-isms from lazytest and worry about cljs later
the biggest limiter is usage of macros, actually. i tried to port sinker to cljs, and it failed dramatically
that reporter has reminded me that "reporters" are merely hooks that only print. too late to change the "reporter" system, but funny to think about