Does anybody experience the same wrong warning from clj-kondo?
(defn ^:export init! <-- unused init! public fn
[]
(mount!))
this is not a warning from clj-kondo, but from an additional linter in clojure-lsp
Ahh. Sorry @borkdude. You're right. I thought that clojure-lsp relies on clj-kondo entirely when it comes to code checking! Thanks!
Found another bug in clojure-lsp. When moving the cursor to (:require) line, the namespace line vanishes.
Yes, check clojure-lsp docs about how to disable public linters
https://clojure-lsp.github.io/clojure-lsp/settings/#clojure-lsp
This is not a clojure-lsp bug, probably some issue with lsp-ui from emacs
You can ask for help on Emacs-lsp discord channel
Hmm, I'm getting a lot of failed tests in the master
branch
Right. Thanks @jr0cket I'll try out kaocha
Ah yes, the Makefile simply calls clojure -M:test
which is an alias that runs kaocha via Clojure.main
So you can also run clojure -M:test
directly or if using my user level aliases, clojure -M:test/runner
Thanks @jr0cket. I changed kaocha to eftest because it felt faster. I'll give koacha another try
@nicdaoraf
Running eftest using the :multithred? false setting does run the clojure-lsp tests successfully, so it does seem that the lsp unit tests should be run in in sequence, rather than the default parallel mode that eftest uses.
I added a :test/eftest-sequential
alias to practicalli/clojure-deps-edn that works with clojure-lsp test
Ahhh, I see. That makes sense
I'm on this commit:
commit 8a294181096a151cd4ee845a127b6e7306805800 (HEAD -> master, upstream/master)
Author: Eric Dallo <ericdallo06@hotmail.com>
Date: Tue Apr 13 22:02:27 2021 -0300
Improve resolve-macro-as command to check and log if couldn't resolve the macro.
is it integration or unit tests?
It passes on my machine and in the CI, so it seems something with your machine 😅
Hmm, I'm not sure how to answer that.
I run clojure -M:test/runner
where
:test/runner
{:extra-paths ["test"]
:extra-deps {eftest/eftest {:mvn/version "0.5.9"}}
:main-opts ["-e" "(require,'[eftest.runner,:refer,[find-tests,run-tests]]),(run-tests,(find-tests,\"test\"))"]}
try just make test
Interesting, yea it's all fine with make test
Do you know how
:test/runner
{:extra-paths ["test"]
:extra-deps {eftest/eftest {:mvn/version "0.5.9"}}
:main-opts ["-e" "(require,'[eftest.runner,:refer,[find-tests,run-tests]]),(run-tests,(find-tests,\"test\"))"]}
is different? (I just stole this alias off https://app.slack.com/team/U05254DQM's config)Thank you @ericdallo
it seems the same, not sure how it's affecting the tests :thinking_face:
@nicdaoraf It's probably the -e
option in the :main-opts
as that approach is a bit of a hack. I will check to see if there is a better way to make an alias for eftest.
I do prefer using lambdaisland koacha as a test runner (or cognitect labs runner)
Or it could be eftest running unit tests in parallel when the tests aren't happy being run in parallel, especially if make test
doesn't use eftest
clojure-lsp test alias already uses kaocha runner
Is this the right default behavior? It seems common for (non-private) functions to be unused within a namespace.
yes, it's the default behaviour, there are corner cases like API public functions and datomic functions I think but user can disable for some namespaces like in the docs