Ok, so backing up a bit my direct use case is refactoring large test suites that take a long time to run. We have several test suites with various focus-meta / skip-meta’s defined, and I’d like to know what tests are going to be executed in each suite (or execution of the cli with focus opts etc), without actually running them all. So an abbreviated output of the plan, that showed the order of execution and the nesting of namespaces / test vars. Also it’s possible in complex suites to have overlapping tests, such an output would be useful to identify the overlap and potentially the cause
starter for 10 on a humanized output format that might be useful:
--- unit (clojure.test) ---------------------------
csv2rdf.metadata.properties-test ^:foo ^:bar
child-test ^:baz
set-table-group-parent-references-test
children-test
csv2rdf.metadata.inherited-test ^:foo ^:baz
null-value-test ^:bar
string
array
array with invalid values
invalid type
csv2rdf.http-test
parse-link-header-test
Valid header URI only
Valid header with parameters
Invalid URI
Malformed
i.e. similar to the document output just missing testing blocks as printing those will mean executing the tests.
Could also be useful to augment ns’s and vars with their metadata keys… though we might want to elide standard clojure metadata e.g. ^:doc
/ ^:line
etc.
Yes IIRC the issue is that dispatch macros are essentially reader macros and only implementable by clojure/edn, i.e. in clojure and edn you can’t extend the reader itself; only tags. '
is a reader macro for vars… others include things like {
for sets etc. AFAIK '
isn’t included in the edn subset of clj.