clojure-dev

slipset 2024-09-19T06:38:54.157999Z

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?

Jarrod Taylor (Clojure team) 2024-09-24T17:38:59.946779Z

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.

🎉 2
slipset 2024-09-24T17:39:51.156129Z

💜

2024-09-24T18:22:18.815489Z

i have a PR open to update the seesaw tests to work like normal leiningen tests, so i'll holler when that lands

👍 1
2024-09-19T09:52:13.650039Z

https://github.com/clojure/test.regression is the suite, and i believe it's already using the clj-commons libraries

2024-09-19T09:53:25.025139Z

@jarrodctaylor could probably tell you which libraries don't work in it, and then we could fix those

slipset 2024-09-19T10:30:25.268609Z

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.

👍 1
2024-09-19T11:44:47.161829Z

I agree.

Jarrod Taylor (Clojure team) 2024-09-19T12:46:25.156789Z

I am happy to accept suggestions of projects to include in the regression tests.

slipset 2024-09-19T13:26:26.170979Z

Would you want to have a list, or a bunch of PRs?

Jarrod Taylor (Clojure team) 2024-09-19T14:01:06.119489Z

A list would be good.

2024-09-19T14:03:26.043389Z

({: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})

2024-09-19T14:04:12.261799Z

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

slipset 2024-09-19T14:13:04.423709Z

Nice!

2024-09-19T14:17:49.311469Z

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})

Jarrod Taylor (Clojure team) 2024-09-19T14:17:51.755139Z

I will see about adding them. For test suites that don’t play nice @slipset are you interested in those details?

slipset 2024-09-19T14:18:46.215069Z

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.

👍 1
2024-09-19T14:19:00.666729Z

i agree and i'm willing to help as well

Jarrod Taylor (Clojure team) 2024-09-19T14:21:15.625389Z

Ok then. To be continued.

slipset 2024-09-19T14:21:45.970539Z

And do it in whichever way is easier/more convenient for you.

👍 1
seancorfield 2024-09-19T16:25:21.147119Z

@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?

Jarrod Taylor (Clojure team) 2024-09-19T16:38:27.875539Z

@seancorfield I’ll add it to the list and let you know.