help wanted
Description
I'm trying to use boot-test. I'm using clojure 1.8.0, boot 2.6.0 on a jdk 8 on Linux. My project uses a JNI based library and I'm not able to use boot-test together with the watch task. If I run "boot test" everything is fine:
(local) ~/steinmetz (git)-[master] % boot test
...
Testing steinmetz.zvk
Testing steinmetz.zvk-test
Ran 20 tests containing 50 assertions.
0 failures, 0 errors.
However, I'm not able to use boot watch test:
30 (local) ~/steinmetz (git)-[master] % boot watch test
Starting file watcher (CTRL-C to quit)...
...
Testing steinmetz.zvk
Testing steinmetz.zvk-test
Ran 20 tests containing 50 assertions.
0 failures, 0 errors.
Elapsed time: 12.677 sec
(which looks good until I change a file)
clojure.lang.Compiler$CompilerException: java.lang.UnsatisfiedLinkError: Native Library /home/ralf/.libsepa/linux-64/libsepa271/libsepa-jni.so already loaded in another classloader, compiling:(clj_libsepa/core.clj:9:3)
java.lang.UnsatisfiedLinkError: Native Library /home/ralf/.libsepa/linux-64/libsepa271/libsepa-jni.so already loaded in another classloader
...
com.libsepa.SEPA.<clinit>
...
clojure.core/load/fn core.clj: 5893
clojure.core/load/invokeStatic core.clj: 5892
clojure.core/load core.clj: 5876
...
clojure.core/load-one/invokeStatic core.clj: 5697
clojure.core/load-one core.clj: 5692
clojure.core/load-lib/fn core.clj: 5737
clojure.core/load-lib/invokeStatic core.clj: 5736
clojure.core/load-lib core.clj: 5717
...
clojure.core/apply/invokeStatic core.clj: 648
clojure.core/load-libs/invokeStatic core.clj: 5774
clojure.core/load-libs core.clj: 5758
...
clojure.core/apply/invokeStatic core.clj: 648
clojure.core/require/invokeStatic core.clj: 5796
clojure.core/require core.clj: 5796
...
steinmetz.libsepa/eval27644/loading--auto-- libsepa.clj: 1
steinmetz.libsepa/eval27644/invokeStatic libsepa.clj: 1
steinmetz.libsepa/eval27644 libsepa.clj: 1
...
clojure.core/load/fn core.clj: 5893
clojure.core/load/invokeStatic core.clj: 5892
clojure.core/load core.clj: 5876
...
clojure.core/load-one/invokeStatic core.clj: 5697
clojure.core/load-one core.clj: 5692
clojure.core/load-lib/fn core.clj: 5737
clojure.core/load-lib/invokeStatic core.clj: 5736
clojure.core/load-lib core.clj: 5717
...
clojure.core/apply/invokeStatic core.clj: 648
clojure.core/load-libs/invokeStatic core.clj: 5774
clojure.core/load-libs core.clj: 5758
...
clojure.core/apply/invokeStatic core.clj: 648
clojure.core/require/invokeStatic core.clj: 5796
clojure.core/require core.clj: 5796
...
steinmetz.qlauf.ueberweisung/eval26343/loading--auto-- ueberweisung.clj: 1
steinmetz.qlauf.ueberweisung/eval26343/invokeStatic ueberweisung.clj: 1
steinmetz.qlauf.ueberweisung/eval26343 ueberweisung.clj: 1
...
clojure.core/load/fn core.clj: 5893
clojure.core/load/invokeStatic core.clj: 5892
clojure.core/load core.clj: 5876
...
clojure.core/load-one/invokeStatic core.clj: 5697
clojure.core/load-one core.clj: 5692
clojure.core/load-lib/fn core.clj: 5737
clojure.core/load-lib/invokeStatic core.clj: 5736
clojure.core/load-lib core.clj: 5717
...
clojure.core/apply/invokeStatic core.clj: 648
clojure.core/load-libs/invokeStatic core.clj: 5774
clojure.core/load-libs core.clj: 5758
...
clojure.core/apply/invokeStatic core.clj: 648
clojure.core/require/invokeStatic core.clj: 5796
clojure.core/require core.clj: 5796
...
steinmetz.render.qlauf/eval26335/loading--auto-- qlauf.clj: 1
steinmetz.render.qlauf/eval26335/invokeStatic qlauf.clj: 1
steinmetz.render.qlauf/eval26335 qlauf.clj: 1
...
clojure.core/load/fn core.clj: 5893
clojure.core/load/invokeStatic core.clj: 5892
clojure.core/load core.clj: 5876
...
clojure.core/load-one/invokeStatic core.clj: 5697
clojure.core/load-one core.clj: 5692
clojure.core/load-lib/fn core.clj: 5737
clojure.core/load-lib/invokeStatic core.clj: 5736
clojure.core/load-lib core.clj: 5717
...
clojure.core/apply/invokeStatic core.clj: 648
clojure.core/load-libs/invokeStatic core.clj: 5774
clojure.core/load-libs core.clj: 5758
...
clojure.core/apply/invokeStatic core.clj: 648
clojure.core/require/invokeStatic core.clj: 5796
clojure.core/require core.clj: 5796
...
steinmetz.http.core/eval19626/loading--auto-- core.clj: 1
steinmetz.http.core/eval19626/invokeStatic core.clj: 1
steinmetz.http.core/eval19626 core.clj: 1
...
clojure.core/load/fn core.clj: 5893
clojure.core/load/invokeStatic core.clj: 5892
clojure.core/load core.clj: 5876
...
clojure.core/load-one/invokeStatic core.clj: 5697
clojure.core/load-one core.clj: 5692
clojure.core/load-lib/fn core.clj: 5737
clojure.core/load-lib/invokeStatic core.clj: 5736
clojure.core/load-lib core.clj: 5717
...
clojure.core/apply/invokeStatic core.clj: 648
clojure.core/load-libs/invokeStatic core.clj: 5774
clojure.core/load-libs core.clj: 5758
...
clojure.core/apply/invokeStatic core.clj: 648
clojure.core/require/invokeStatic core.clj: 5796
clojure.core/require core.clj: 5796
...
steinmetz.http/eval19475/loading--auto-- http.clj: 1
steinmetz.http/eval19475/invokeStatic http.clj: 1
steinmetz.http/eval19475 http.clj: 1
...
clojure.core/load/fn core.clj: 5893
clojure.core/load/invokeStatic core.clj: 5892
clojure.core/load core.clj: 5876
...
clojure.core/load-one/invokeStatic core.clj: 5697
clojure.core/load-one core.clj: 5692
clojure.core/load-lib/fn core.clj: 5737
clojure.core/load-lib/invokeStatic core.clj: 5736
clojure.core/load-lib core.clj: 5717
...
clojure.core/apply/invokeStatic core.clj: 648
clojure.core/load-libs/invokeStatic core.clj: 5774
clojure.core/load-libs core.clj: 5758
...
clojure.core/apply/invokeStatic core.clj: 648
clojure.core/require/invokeStatic core.clj: 5796
clojure.core/require core.clj: 5796
...
pod$eval504.invokeStatic NO_SOURCE_FILE
pod$eval504.invoke NO_SOURCE_FILE
...
clojure.core/eval/invokeStatic core.clj: 3105
clojure.core/eval core.clj: 3101
boot.pod/eval-in* pod.clj: 437
...
boot.pod/eval-in* pod.clj: 440
adzerk.boot-test/eval161/fn/fn/fn boot_test.clj: 102
boot.task.built-in/fn/fn/fn/fn/fn/fn built_in.clj: 348
boot.task.built-in/fn/fn/fn/fn/fn built_in.clj: 348
boot.task.built-in/fn/fn/fn/fn built_in.clj: 345
boot.core/run-tasks core.clj: 938
boot.core/boot/fn core.clj: 948
clojure.core/binding-conveyor-fn/fn core.clj: 1938
...
Elapsed time: 9.029 sec
I've ran into the same issue while trying to use clojurescript with my project. So, running "boot test" manually is not a workaround for me here.