fixes #409 by making the check conditional

This commit is contained in:
Sean Corfield 2022-05-20 10:46:04 -07:00
parent d065a04e18
commit fb1decbd1e
4 changed files with 18 additions and 7 deletions

View file

@ -1,6 +1,7 @@
# Changes # Changes
* 2.3.next in progress * 2.3.next in progress
* Address [#409](https://github.com/seancorfield/honeysql/issues/409) by making docstring check for public helpers conditional.
* Address [#401](https://github.com/seancorfield/honeysql/issues/401) by adding `register-dialect!` and `get-dialect`, and also making `add-clause-before`, `strop`, and `upper-case` public so that new dialects are easier to construct. * Address [#401](https://github.com/seancorfield/honeysql/issues/401) by adding `register-dialect!` and `get-dialect`, and also making `add-clause-before`, `strop`, and `upper-case` public so that new dialects are easier to construct.
* 2.2.891 -- 2022-04-23 * 2.2.891 -- 2022-04-23

View file

@ -48,10 +48,15 @@
(defn test "Run basic tests." [opts] (defn test "Run basic tests." [opts]
(-> opts (-> opts
(assoc :aliases [:1.11]) (update :aliases (fnil conj []) :1.11)
(bb/run-tests))) (bb/run-tests)))
(defn ci "Run the CI pipeline of tests (and build the JAR)." [opts] (defn ci
"Run the CI pipeline of tests (and build the JAR).
Default Clojure version is 1.9.0 (:1.9) so :elide
tests for #409 on that version."
[opts]
(-> opts (-> opts
(bb/clean) (bb/clean)
(assoc :lib lib :version (if (:snapshot opts) snapshot version)) (assoc :lib lib :version (if (:snapshot opts) snapshot version))
@ -59,13 +64,13 @@
(reduce (fn [opts alias] (reduce (fn [opts alias]
(run-doc-tests (assoc opts :aliases [alias]))) (run-doc-tests (assoc opts :aliases [alias])))
opts opts
[:cljs :1.9 :1.10 :1.11 :master])) [:cljs :elide :1.10 :1.11 :master]))
(eastwood) (eastwood)
(as-> opts (as-> opts
(reduce (fn [opts alias] (reduce (fn [opts alias]
(bb/run-tests (assoc opts :aliases [alias]))) (bb/run-tests (assoc opts :aliases [alias])))
opts opts
[:cljs :1.9 :1.10 :1.11 :master])) [:cljs :elide :1.10 :1.11 :master]))
(bb/clean) (bb/clean)
(assoc :src-pom "template/pom.xml") (assoc :src-pom "template/pom.xml")
(bb/jar))) (bb/jar)))

View file

@ -10,9 +10,12 @@
;; versions to test against: ;; versions to test against:
:1.9 {:override-deps {org.clojure/clojure {:mvn/version "1.9.0"}}} :1.9 {:override-deps {org.clojure/clojure {:mvn/version "1.9.0"}}}
:1.10 {:override-deps {org.clojure/clojure {:mvn/version "1.10.3"}}} :1.10 {:override-deps {org.clojure/clojure {:mvn/version "1.10.3"}}}
:1.11 {:override-deps {org.clojure/clojure {:mvn/version "1.11.0"}}} :1.11 {:override-deps {org.clojure/clojure {:mvn/version "1.11.1"}}}
:master {:override-deps {org.clojure/clojure {:mvn/version "1.12.0-master-SNAPSHOT"}}} :master {:override-deps {org.clojure/clojure {:mvn/version "1.12.0-master-SNAPSHOT"}}}
:elide ; to test #409 (assertion on helper docstrings)
{:jvm-opts ["-Dclojure.compiler.elide-meta=[:doc]"]}
;; running tests/checks of various kinds: ;; running tests/checks of various kinds:
:test :test
{:extra-paths ["test"] {:extra-paths ["test"]

View file

@ -1025,8 +1025,10 @@
#?(:clj #?(:clj
(do (do
;; #409 this assert is only valid when :doc metadata is not elided:
(when (-> #'generic-helper-unary meta :doc)
;; ensure #295 stays true (all public functions have docstring): ;; ensure #295 stays true (all public functions have docstring):
(assert (empty? (->> (ns-publics *ns*) (vals) (c/filter (comp not :doc meta))))) (assert (empty? (->> (ns-publics *ns*) (vals) (c/filter (comp not :doc meta))))))
;; ensure all public functions match clauses: ;; ensure all public functions match clauses:
(assert (= (clojure.core/set (conj @@#'honey.sql/base-clause-order (assert (= (clojure.core/set (conj @@#'honey.sql/base-clause-order
:composite :filter :lateral :over :within-group :composite :filter :lateral :over :within-group