Fork me on GitHub
#kaocha
<
2022-11-21
>
skylize04:11:20

Would be great if Kaocha could be run by Babashka, for testing Bb compatibility of library code. borkdude added a missing Java lib java.lang.Error to the master branch today, but it still crashes right away trying to resolve clojure.lang.DynamicClassLoader. I found in the docs that I should be able prevent Koacha using its own classloader with :kaocha.testable/skip-add-classpath? false. But that doesn't seem to help. I also custom built babashka to include that class, but that just delays the exception until ensure-compiler-loader where Compiler/LOADER fails to resolve. Unclear to me why Kaocha would be messing around with the ClassLoader when instructed not to mess with the ClassPath. And no idea what other stumbling blocks might arise from Bb's limitations, becase this problem is already is a non-starter.

plexus06:11:58

bb compatibility could indeed be interesting, we'd have to do a first pass to assess how far off we are. An issue on github would be very welcome!

plexus07:11:04

I've added a bookmark here to the "new issue" form on github, since half of my posts here are asking people to please report things through the proper channels. Maintaining open source like kaocha is a slow and steady progress that plays out over years, and having those issues there means they become part of that process.

plexus07:11:37

@eveningsky skip-add-classpath? opts out of the runtime behavior, it does not prevent the code that uses DynamicClassLoader from getting loaded/compiled. You're the first person to bring this up so far, so no one has ever looked into what our options are, but it might be an easy fix.

borkdude10:11:06

@plexus if it helps: the bb master version was made compatible with the cognitect runner (by making bb compatible with tools.namespace which was done by adding a function from clojure.tools.reader as a built-in)

borkdude10:11:31

also nubank matcher-combinator already worked from source, which may or may not be similar to deep-diff2

borkdude10:11:14

kaocha has a lot more dependencies / namespaces so there may be more things to be uncovered, but feel free to bug me about this anytime

skylize23:11:02

Looks like great initial progress. Thanks