lazytest

2026-04-21T13:30:08.706969Z

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...

2026-04-21T22:33:56.597339Z

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?

2026-04-21T22:46:22.105979Z

"complex" features that jvm clojure.test relies on: dynamic variables, vars, multimethods, printing, binding, refs, syntax-quote, macros, metadata, var metadata, try/catch

2026-04-21T22:53:26.661269Z

"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)

2026-04-21T23:08:38.137529Z

i guess clojure-test-suite is using cognitect test runner or similar to load and run the tests

2026-04-21T23:09:45.083329Z

but that merely adds requiring/loading to the list

2026-04-21T23:11:28.304489Z

and then each dialect has a different means of actually running the tests (a hand written javascript runner for cljs, for example)

2026-04-21T23:15:40.908959Z

maybe i should target basilisp first to help remove all of the JVM-isms from lazytest and worry about cljs later

2026-04-27T19:38:16.589939Z

the biggest limiter is usage of macros, actually. i tried to port sinker to cljs, and it failed dramatically

2026-04-21T01:46:45.576649Z

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