Skip to content

Commit 7b646fb

Browse files
plexusbbatsov
authored andcommitted
Add a ^:min-clj-version test filter, fix min-clj-version
To be able to account for subtle differences between Clojure versions we have metadata based filters. The min-clojure-version filter however no longer worked correctly because Clojure 1.10 would sort before 1.9. Fixed this by adding explicit version parsing, and also added a max-clj-version filter.
1 parent 8d050a1 commit 7b646fb

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

project.clj

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,14 @@
3030
:test-paths ["test/common"] ;; See `test-clj` and `test-cljs` profiles below.
3131

3232
:test-selectors {:default (fn [test-meta]
33-
(if-let [min-version (:min-clj-version test-meta)]
34-
(>= (compare (clojure-version) min-version) 0)
35-
true))
33+
(let [parse-version (fn [v] (mapv #(Integer/parseInt (re-find #"\d+" %)) (clojure.string/split v #"\.")))
34+
clojure-version (parse-version (clojure-version))]
35+
(and (if-let [min-version (:min-clj-version test-meta)]
36+
(>= (compare clojure-version (parse-version min-version)) 0)
37+
true)
38+
(if-let [max-version (:max-clj-version test-meta)]
39+
(>= (compare (parse-version max-version) clojure-version) 0)
40+
true))))
3641
:debugger :debugger}
3742

3843
:aliases {"bump-version" ["change" "version" "leiningen.release/bump-version"]}

0 commit comments

Comments
 (0)