Heard on the latest #clojurestream podcast that there is a Clojure regression project. I’m wondering if the libs in clj-commons are part of that, and if they’re not, could/should they, and in any case, is there a way for clj-commons to make the inclusion easier/more convenient for the regression project?
I have added over 80 new repositories to have their tests run as part of the regression suite next.jdbc is now included as well as a number of additional clj-comms repos and an assortment of other worthwhile projects (Thanks to Noah for the list).
clj-commons/durable-queue appears to be failing CI in https://github.com/clj-commons/durable-queue and I didn’t include seesaw as I didn’t want to modify the templates to allow configuring xvfb, but I think most everything else made it in. Thanks for the input and interest everyone.
💜
i have a PR open to update the seesaw tests to work like normal leiningen tests, so i'll holler when that lands
https://github.com/clojure/test.regression is the suite, and i believe it's already using the clj-commons libraries
@jarrodctaylor could probably tell you which libraries don't work in it, and then we could fix those
I see that there are some things in there, yes. also htat manifold and iapetos fail on certain java version. We (clj-commons) might want to fix that.
I agree.
I am happy to accept suggestions of projects to include in the regression tests.
Would you want to have a list, or a bunch of PRs?
A list would be good.
({:name clj-commons/aleph, :definition :lein, :skip true}
{:name clj-commons/byte-stream, :definition :lein}
{:name clj-commons/byte-transforms, :definition :lein}
{:name clj-commons/camel-snake-kebab, :definition :lein}
{:name clj-commons/citrus, :definition :lein}
{:name clj-commons/claypoole, :definition :lein}
{:name clj-commons/clj-yaml, :definition :deps.edn}
{:name clj-commons/cljss, :definition :lein, :skip true}
{:name clj-commons/digest, :definition :lein}
{:name clj-commons/dirigiste, :definition :lein, :skip true}
{:name clj-commons/durable-queue, :definition :lein}
{:name clj-commons/etaoin, :definition :script, :skip true}
{:name clj-commons/gloss, :definition :lein}
{:name clj-commons/hickory, :definition :lein}
{:name clj-commons/humanize, :definition :deps.edn}
{:name clj-commons/kibit, :definition :lein}
{:name clj-commons/ordered, :definition :lein}
{:name clj-commons/pretty, :definition :deps.edn}
{:name clj-commons/primitive-math, :definition :lein}
{:name clj-commons/rewrite-clj, :definition :deps.edn}
{:name clj-commons/ring-buffer, :definition :lein}
{:name clj-commons/seesaw, :definition :lein, :skip true}
{:name clj-commons/tentacles, :definition :lein}
{:name clj-commons/useful, :definition :lein, :skip true})i have all of the clj-commons libraries in core_regression, and those are the ones that you don't have in test.regression. the ones marked "skip" are because of some issue or another, i didn't track why they would fail
Nice!
and for completeness sake, here's all of the other libraries from core_regression that aren't in test.regression. i've removed all of the :skip ones, but i can show those too if you want to find out for yourself
({:name clojure/clojurescript, :definition :deps.edn}
{:name clojure/core.async, :definition :mvn}
{:name clojure/core.contracts, :definition :mvn}
{:name clojure/core.rrb-vector, :definition :mvn}
{:name clojure/core.unify, :definition :mvn}
{:name clojure/data.codec, :definition :mvn}
{:name clojure/data.finger-tree, :definition :mvn}
{:name clojure/data.xml, :definition :mvn}
{:name clojure/spec.alpha, :definition :mvn}
{:name clojure/spec.alpha2, :definition :mvn}
{:name clojure/tools.deps.graph, :definition :mvn}
{:name clojure/tools.namespace, :definition :mvn}
{:name aphyr/dom-top, :definition :lein}
{:name athos/sweet-array, :definition :deps.edn}
{:name borkdude/dynaload, :definition :deps.edn}
{:name cerner/clara-rules, :definition :lein}
{:name cgrand/xforms, :definition :deps.edn}
{:name clj-kondo/clj-kondo, :definition :deps.edn}
{:name clojurewerkz/archimedes, :definition :lein}
{:name clojurewerkz/chash, :definition :lein}
{:name clojurewerkz/meltdown, :definition :lein}
{:name clojurewerkz/ogre, :definition :lein}
{:name clojurewerkz/pantomime, :definition :lein}
{:name clojurewerkz/propertied, :definition :lein}
{:name clojurewerkz/quartzite, :definition :lein}
{:name clojurewerkz/validateur, :definition :lein}
{:name cnuerber/dtype-next, :definition :deps.edn}
{:name cognitect-labs/fern, :definition :deps.edn}
{:name cognitect-labs/vase, :definition :lein}
{:name dakrone/clj-http, :definition :lein}
{:name duct-framework/core, :definition :lein}
{:name frenchy64/typedclojure, :definition :deps.edn}
{:name funcool/buddy-auth, :definition :deps.edn}
{:name funcool/buddy-core, :definition :deps.edn}
{:name funcool/buddy-hashers, :definition :deps.edn}
{:name funcool/buddy-sign, :definition :deps.edn}
{:name funcool/cuerdas, :definition :deps.edn}
{:name funcool/promesa, :definition :deps.edn}
{:name gfredericks/test.chuck, :definition :lein}
{:name greglook/blocks, :definition :lein}
{:name greglook/clj-multiformats, :definition :deps.edn}
{:name greglook/cljstyle, :definition :lein}
{:name greglook/puget, :definition :lein}
{:name hiredman/clj-http-lite, :definition :lein}
{:name honeysql/honeysql, :definition :deps.edn}
{:name http-kit/http-kit, :definition :lein}
{:name igjoshua/americano, :definition :deps.edn}
{:name igjoshua/farolero, :definition :deps.edn}
{:name juxt/jinx, :definition :deps.edn}
{:name juxt/reap, :definition :deps.edn}
{:name juxt/tick, :definition :deps.edn}
{:name juxt/xtdb, :definition :lein}
{:name kkinnear/zprint, :definition :deps.edn}
{:name lambdaisland/clj-diff, :definition :deps.edn}
{:name lambdaisland/deep-diff, :definition :deps.edn}
{:name lambdaisland/deep-diff2, :definition :deps.edn}
{:name lambdaisland/kaocha, :definition :deps.edn}
{:name lambdaisland/ornament, :definition :deps.edn}
{:name lambdaisland/uri, :definition :deps.edn}
{:name lilactown/cascade, :definition :deps.edn}
{:name lilactown/pyramid, :definition :deps.edn}
{:name liquidz/rewrite-indented, :definition :deps.edn}
{:name liquidz/testdoc, :definition :deps.edn}
{:name marick/midje, :definition :lein}
{:name marick/suchwow, :definition :lein}
{:name metosin/compojure-api, :definition :lein}
{:name metosin/kekkonen, :definition :lein}
{:name metosin/malli, :definition :deps.edn}
{:name metosin/muuntaja, :definition :lein}
{:name metosin/reitit, :definition :lein}
{:name metosin/sieppari, :definition :lein}
{:name metosin/tilakone, :definition :lein}
{:name mmcgrana/clj-stacktraces, :definition :lein}
{:name mtgred/netrunner, :definition :lein}
{:name nubank/matcher-combinators, :definition :deps.edn}
{:name pangloss/pattern, :definition :deps.edn}
{:name pangloss/pure-conditioning, :definition :deps.edn}
{:name pangloss/system.check, :definition :lein}
{:name pangloss/transducers, :definition :lein}
{:name pedestal/pedestal, :definition :deps.edn}
{:name replikativ/datahike, :definition :deps.edn}
{:name ring-clojure/ring-codec, :definition :lein}
{:name seancorfield/next-jdbc, :definition :deps.edn}
{:name taoensso/timre, :definition :lein}
{:name tobereplaced/lettercase, :definition :lein}
{:name tonsky/datascript, :definition :lein}
{:name tonsky/uberdeps, :definition :deps.edn}
{:name walmartlabs/lacinia, :definition :deps.edn}
{:name weavejester/cljfmt, :definition :lein}
{:name weavejester/eftest, :definition :lein}
{:name weavejester/environ, :definition :lein}
{:name weavejester/ragtime, :definition :lein}
{:name yogthos/markdown-clj, :definition :deps.edn}
{:name yogthos/selmer, :definition :deps.edn}
{:name ztellman/automat, :definition :lein}
{:name ztellman/clj-radix, :definition :lein}
{:name ztellman/proteus, :definition :lein}
{:name ztellman/riddley, :definition :lein}
{:name ztellman/virgil, :definition :lein})I will see about adding them. For test suites that don’t play nice @slipset are you interested in those details?
Very much so, I mean, it’s a (hopefully) valuable corpus of code for you, and if they don’t pass, then it’s sucky for the users, I guess.
i agree and i'm willing to help as well
Ok then. To be continued.
And do it in whichever way is easier/more convenient for you.
@jarrodctaylor I see you're testing HoneySQL (thank you) and clojure.java.jdbc, but not the "replacement" for the latter: next.jdbc -- do I need to do anything to help get that into the suite?
@seancorfield I’ll add it to the list and let you know.