Merge testing of libs into one babashka process (#485)
This commit is contained in:
parent
4a126be2c6
commit
ee8508d320
24 changed files with 194 additions and 449 deletions
|
|
@ -22,7 +22,7 @@ jobs:
|
||||||
git submodule update
|
git submodule update
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- v1-dependencies-{{ checksum "project.clj" }}
|
- v1-dependencies-{{ checksum "project.clj" }}-{{ checksum "deps.edn" }}
|
||||||
# fallback to using the latest cache if no exact match is found
|
# fallback to using the latest cache if no exact match is found
|
||||||
- v1-dependencies-
|
- v1-dependencies-
|
||||||
- run:
|
- run:
|
||||||
|
|
@ -63,7 +63,7 @@ jobs:
|
||||||
- save_cache:
|
- save_cache:
|
||||||
paths:
|
paths:
|
||||||
- ~/.m2
|
- ~/.m2
|
||||||
key: v1-dependencies-{{ checksum "project.clj" }}
|
key: v1-dependencies-{{ checksum "project.clj" }}-{{ checksum "deps.edn" }}
|
||||||
linux:
|
linux:
|
||||||
docker:
|
docker:
|
||||||
- image: circleci/clojure:lein-2.9.1
|
- image: circleci/clojure:lein-2.9.1
|
||||||
|
|
|
||||||
26
deps.edn
26
deps.edn
|
|
@ -31,4 +31,28 @@
|
||||||
:jvm-opts ["-Djdk.attach.allowAttachSelf"]
|
:jvm-opts ["-Djdk.attach.allowAttachSelf"]
|
||||||
:main-opts ["-m" "babashka.profile"]}
|
:main-opts ["-m" "babashka.profile"]}
|
||||||
:lib-tests
|
:lib-tests
|
||||||
{:extra-deps {minimallist {:mvn/version "0.0.1"}}}}}
|
{:extra-deps {clj-http-lite
|
||||||
|
{:git/url "https://github.com/babashka/clj-http-lite"
|
||||||
|
:sha "f44ebe45446f0f44f2b73761d102af3da6d0a13e"}
|
||||||
|
spartan.spec {:git/url "https://github.com/borkdude/spartan.spec"
|
||||||
|
:sha "16f7eec4b6589c77c96c9fcf989f78fffcee7c4c"}
|
||||||
|
regal {:git/url "https://github.com/lambdaisland/regal"
|
||||||
|
:sha "b059fdb06d5586a9a04c27e7b011c467ad8546db"}
|
||||||
|
medley {:git/url "https://github.com/weavejester/medley"
|
||||||
|
:sha "a4e5fb5383f5c0d83cb2d005181a35b76d8a136d"}
|
||||||
|
babasha.curl {:local/root "babashka.curl"}
|
||||||
|
cprop {:mvn/version "0.1.16"}
|
||||||
|
comb {:mvn/version "0.1.1"}
|
||||||
|
mvxcvi/arrangement {:mvn/version "1.2.0"}
|
||||||
|
org.clojure/data.zip {:mvn/version "1.0.0"}
|
||||||
|
clojure-csv {:mvn/version "2.0.2"}
|
||||||
|
org.clojure/math.combinatorics {:mvn/version "0.1.6"}
|
||||||
|
doric {:mvn/version "0.9.0"}
|
||||||
|
cljc.java-time
|
||||||
|
{:git/url "https://github.com/henryw374/cljc.java-time.git"
|
||||||
|
:sha "e3d184b78e933322b3fcaa6ca66cbb8f42a6b35c"}
|
||||||
|
camel-snake-kebab {:mvn/version "0.4.1"}
|
||||||
|
aero {:mvn/version "1.1.6"}
|
||||||
|
org.clojure/data.generators {:mvn/version "1.0.0"}
|
||||||
|
honeysql {:mvn/version "1.0.444"}
|
||||||
|
minimallist {:mvn/version "0.0.1"}}}}}
|
||||||
|
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -eo pipefail
|
|
||||||
|
|
||||||
if [ "$BABASHKA_TEST_ENV" = "native" ]; then
|
|
||||||
BB_CMD="./bb"
|
|
||||||
else
|
|
||||||
BB_CMD="lein bb"
|
|
||||||
fi
|
|
||||||
|
|
||||||
export BABASHKA_CLASSPATH
|
|
||||||
BABASHKA_CLASSPATH=$(clojure -Sdeps '{:deps {aero {:mvn/version "1.1.6"}}}' -Spath)
|
|
||||||
|
|
||||||
$BB_CMD -cp "$BABASHKA_CLASSPATH:test-resources/lib_tests" -e "
|
|
||||||
(require '[aero.core-test])
|
|
||||||
(require '[clojure.test :as t])
|
|
||||||
(let [{:keys [:test :pass :fail :error]} (t/run-tests 'aero.core-test)]
|
|
||||||
(when-not (pos? test)
|
|
||||||
(System/exit 1))
|
|
||||||
(System/exit (+ fail error)))
|
|
||||||
"
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -eo pipefail
|
|
||||||
|
|
||||||
export BABASHKA_CLASSPATH=$(clojure -Sdeps '{:deps {mvxcvi/arrangement {:mvn/version "1.2.0"}}}' -Spath)
|
|
||||||
|
|
||||||
if [ "$BABASHKA_TEST_ENV" = "native" ]; then
|
|
||||||
BB_CMD="./bb"
|
|
||||||
else
|
|
||||||
BB_CMD="lein bb"
|
|
||||||
fi
|
|
||||||
|
|
||||||
$BB_CMD -e "(require '[arrangement.core :as order]) (sort order/rank ['a false 2 :b nil 3.14159 \"c\" true \d [3 2] #{:one :two} [3 1 2] #{:three}])"
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -eo pipefail
|
|
||||||
|
|
||||||
export BABASHKA_CLASSPATH=$(clojure -Sdeps '{:deps {babasha.curl {:local/root "babashka.curl"}}}' -Spath)
|
|
||||||
|
|
||||||
if [ "$BABASHKA_TEST_ENV" = "native" ]; then
|
|
||||||
BB_CMD="./bb"
|
|
||||||
else
|
|
||||||
BB_CMD="lein bb"
|
|
||||||
fi
|
|
||||||
|
|
||||||
$BB_CMD -e "
|
|
||||||
(require '[babashka.curl :as curl] :reload-all)
|
|
||||||
|
|
||||||
(prn (:status (curl/get \"https://www.clojure.org\")))
|
|
||||||
|
|
||||||
(prn (:status (curl/get \"https://postman-echo.com/get?foo1=bar1&foo2=bar2\")))
|
|
||||||
|
|
||||||
(prn (:status (curl/post \"https://postman-echo.com/post\")))
|
|
||||||
|
|
||||||
(prn (:status (curl/post \"https://postman-echo.com/post\"
|
|
||||||
{:body (json/generate-string {:a 1})
|
|
||||||
:headers {\"X-Hasura-Role\" \"admin\"}
|
|
||||||
:content-type :json
|
|
||||||
:accept :json})))
|
|
||||||
|
|
||||||
(prn (:status (curl/put \"https://postman-echo.com/put\"
|
|
||||||
{:body (json/generate-string {:a 1})
|
|
||||||
:headers {\"X-Hasura-Role\" \"admin\"}
|
|
||||||
:content-type :json
|
|
||||||
:accept :json})))
|
|
||||||
"
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -eo pipefail
|
|
||||||
|
|
||||||
if [ "$BABASHKA_TEST_ENV" = "native" ]; then
|
|
||||||
BB_CMD="./bb"
|
|
||||||
else
|
|
||||||
BB_CMD="lein bb"
|
|
||||||
fi
|
|
||||||
|
|
||||||
export BABASHKA_CLASSPATH
|
|
||||||
BABASHKA_CLASSPATH=$(clojure -Sdeps '{:deps {camel-snake-kebab {:mvn/version "0.4.1"}}}' -Spath)
|
|
||||||
|
|
||||||
$BB_CMD -cp "$BABASHKA_CLASSPATH:test-resources/lib_tests" -e "
|
|
||||||
(require '[camel-snake-kebab.core-test])
|
|
||||||
(require '[clojure.test :as t])
|
|
||||||
(let [{:keys [:test :pass :fail :error]} (t/run-tests 'camel-snake-kebab.core-test)]
|
|
||||||
(when-not (pos? test)
|
|
||||||
(System/exit 1))
|
|
||||||
(System/exit (+ fail error)))
|
|
||||||
"
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -eo pipefail
|
|
||||||
|
|
||||||
export BABASHKA_CLASSPATH=$(clojure -Sdeps '{:deps {clj-http-lite {:git/url "https://github.com/babashka/clj-http-lite" :sha "f44ebe45446f0f44f2b73761d102af3da6d0a13e"}}}' -Spath)
|
|
||||||
|
|
||||||
if [ "$BABASHKA_TEST_ENV" = "native" ]; then
|
|
||||||
BB_CMD="./bb"
|
|
||||||
else
|
|
||||||
BB_CMD="lein bb"
|
|
||||||
fi
|
|
||||||
|
|
||||||
$BB_CMD -e "
|
|
||||||
(require '[clj-http.lite.client :as client])
|
|
||||||
|
|
||||||
(prn (:status (client/get \"https://www.clojure.org\")))
|
|
||||||
|
|
||||||
(prn (:status (client/get \"https://postman-echo.com/get?foo1=bar1&foo2=bar2\")))
|
|
||||||
|
|
||||||
(prn (:status (client/post \"https://postman-echo.com/post\")))
|
|
||||||
|
|
||||||
(prn (:status (client/post \"https://postman-echo.com/post\"
|
|
||||||
{:body (json/generate-string {:a 1})
|
|
||||||
:headers {\"X-Hasura-Role\" \"admin\"}
|
|
||||||
:content-type :json
|
|
||||||
:accept :json})))
|
|
||||||
|
|
||||||
(prn (:status (client/put \"https://postman-echo.com/put\"
|
|
||||||
{:body (json/generate-string {:a 1})
|
|
||||||
:headers {\"X-Hasura-Role\" \"admin\"}
|
|
||||||
:content-type :json
|
|
||||||
:accept :json})))
|
|
||||||
"
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -eo pipefail
|
|
||||||
|
|
||||||
if [ "$BABASHKA_TEST_ENV" = "native" ]; then
|
|
||||||
BB_CMD="./bb"
|
|
||||||
else
|
|
||||||
BB_CMD="lein bb"
|
|
||||||
fi
|
|
||||||
|
|
||||||
$BB_CMD -cp test-resources/lib_tests -e "
|
|
||||||
(require '[clojure.java.io :as io])
|
|
||||||
(require '[clj-yaml.core-test])
|
|
||||||
(require '[clojure.test :as t])
|
|
||||||
(let [{:keys [:test :pass :fail :error]} (t/run-tests 'clj-yaml.core-test)]
|
|
||||||
(when-not (pos? test)
|
|
||||||
(System/exit 1))
|
|
||||||
(System/exit (+ fail error)))
|
|
||||||
"
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -eo pipefail
|
|
||||||
|
|
||||||
if [ "$BABASHKA_TEST_ENV" = "native" ]; then
|
|
||||||
BB_CMD="./bb"
|
|
||||||
else
|
|
||||||
BB_CMD="lein bb"
|
|
||||||
fi
|
|
||||||
|
|
||||||
export BABASHKA_CLASSPATH
|
|
||||||
BABASHKA_CLASSPATH="$(clojure -Sdeps '{:deps {cljc.java-time {:git/url "https://github.com/henryw374/cljc.java-time.git" :sha "e3d184b78e933322b3fcaa6ca66cbb8f42a6b35c"}}}' -Spath)"
|
|
||||||
|
|
||||||
$BB_CMD -cp "$BABASHKA_CLASSPATH:test-resources/lib_tests" -e "
|
|
||||||
(require '[clojure.java.io :as io])
|
|
||||||
(require '[cljc.java-time-test])
|
|
||||||
(require '[clojure.test :as t])
|
|
||||||
(let [{:keys [:test :pass :fail :error]} (t/run-tests 'cljc.java-time-test)]
|
|
||||||
(when-not (pos? test)
|
|
||||||
(System/exit 1))
|
|
||||||
(System/exit (+ fail error)))
|
|
||||||
"
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -eo pipefail
|
|
||||||
|
|
||||||
export BABASHKA_CLASSPATH="$(clojure -Sdeps '{:deps {clojure-csv {:mvn/version "RELEASE"}}}' -Spath)"
|
|
||||||
|
|
||||||
if [ "$BABASHKA_TEST_ENV" = "native" ]; then
|
|
||||||
BB_CMD="./bb"
|
|
||||||
else
|
|
||||||
BB_CMD="lein bb"
|
|
||||||
fi
|
|
||||||
|
|
||||||
$BB_CMD -e "
|
|
||||||
(require '[clojure-csv.core :as csv])
|
|
||||||
(prn (csv/write-csv (csv/parse-csv \"a,b,c\n1,2,3\")))
|
|
||||||
"
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -eo pipefail
|
|
||||||
|
|
||||||
if [ "$BABASHKA_TEST_ENV" = "native" ]; then
|
|
||||||
BB_CMD="./bb"
|
|
||||||
else
|
|
||||||
BB_CMD="lein bb"
|
|
||||||
fi
|
|
||||||
|
|
||||||
$BB_CMD -cp test-resources/lib_tests -e "
|
|
||||||
(require '[clojure.java.io :as io])
|
|
||||||
(require '[clojure.data.csv-test])
|
|
||||||
(require '[clojure.test :as t])
|
|
||||||
(let [{:keys [:test :pass :fail :error]} (t/run-tests 'clojure.data.csv-test)]
|
|
||||||
(when-not (pos? test)
|
|
||||||
(System/exit 1))
|
|
||||||
(System/exit (+ fail error)))
|
|
||||||
"
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -eo pipefail
|
|
||||||
|
|
||||||
if [ "$BABASHKA_TEST_ENV" = "native" ]; then
|
|
||||||
BB_CMD="./bb"
|
|
||||||
else
|
|
||||||
BB_CMD="lein bb"
|
|
||||||
fi
|
|
||||||
|
|
||||||
export BABASHKA_CLASSPATH
|
|
||||||
BABASHKA_CLASSPATH=$(clojure -Sdeps '{:deps {org.clojure/data.generators {:mvn/version "1.0.0"}}}' -Spath)
|
|
||||||
|
|
||||||
$BB_CMD -cp "$BABASHKA_CLASSPATH:test-resources/lib_tests" -e "
|
|
||||||
(require '[clojure.data.generators-test])
|
|
||||||
(require '[clojure.test :as t])
|
|
||||||
(let [{:keys [:test :pass :fail :error]} (t/run-tests 'clojure.data.generators-test)]
|
|
||||||
(when-not (pos? test)
|
|
||||||
(System/exit 1))
|
|
||||||
(System/exit (+ fail error)))
|
|
||||||
"
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -eo pipefail
|
|
||||||
|
|
||||||
export BABASHKA_CLASSPATH="$(clojure -Sdeps '{:deps {org.clojure/data.zip {:mvn/version "1.0.0"}}}' -Spath)"
|
|
||||||
|
|
||||||
if [ "$BABASHKA_TEST_ENV" = "native" ]; then
|
|
||||||
BB_CMD="./bb"
|
|
||||||
else
|
|
||||||
BB_CMD="lein bb"
|
|
||||||
fi
|
|
||||||
|
|
||||||
$BB_CMD --verbose "
|
|
||||||
(require '[clojure.data.xml :as xml])
|
|
||||||
(require '[clojure.zip :as zip])
|
|
||||||
(require '[clojure.data.zip.xml :refer [text attr attr= xml-> xml1-> text=]])
|
|
||||||
|
|
||||||
(def data (str \"<root>\"
|
|
||||||
\" <character type=\\\"person\\\" name=\\\"alice\\\" />\"
|
|
||||||
\" <character type=\\\"animal\\\" name=\\\"march hare\\\" />\"
|
|
||||||
\"</root>\"))
|
|
||||||
|
|
||||||
;(prn :data data)
|
|
||||||
(let [xml (zip/xml-zip (xml/parse (java.io.StringReader. data)))]
|
|
||||||
;(prn :xml xml)
|
|
||||||
(prn :alice-is-a (xml1-> xml :character [(attr= :name \"alice\")] (attr :type)))
|
|
||||||
(prn :animal-is-called (xml1-> xml :character [(attr= :type \"animal\")] (attr :name))))
|
|
||||||
"
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -eo pipefail
|
|
||||||
|
|
||||||
export BABASHKA_CLASSPATH=$(clojure -Spath -Sdeps '{:deps {comb {:mvn/version "0.1.1"}}}')
|
|
||||||
|
|
||||||
if [ "$BABASHKA_TEST_ENV" = "native" ]; then
|
|
||||||
BB_CMD="./bb"
|
|
||||||
else
|
|
||||||
BB_CMD="lein bb"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
$BB_CMD '
|
|
||||||
(ns foo (:require [comb.template :as template]))
|
|
||||||
(prn (template/eval "<% (dotimes [x 3] %>foo<% ) %>"))
|
|
||||||
(prn (template/eval "Hello <%= name %>" {:name "Alice"}))
|
|
||||||
(def hello
|
|
||||||
(template/fn [name] "Hello <%= name %>"))
|
|
||||||
(prn (hello "Alice"))
|
|
||||||
'
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -eo pipefail
|
|
||||||
|
|
||||||
export BABASHKA_CLASSPATH=$(clojure -Sdeps '{:deps {org.clojure/math.combinatorics {:mvn/version "0.1.6"}}}' -Spath)
|
|
||||||
|
|
||||||
if [ "$BABASHKA_TEST_ENV" = "native" ]; then
|
|
||||||
BB_CMD="./bb"
|
|
||||||
else
|
|
||||||
BB_CMD="lein bb"
|
|
||||||
fi
|
|
||||||
|
|
||||||
$BB_CMD -cp "test-resources/lib_tests:$BABASHKA_CLASSPATH" -e "
|
|
||||||
(require '[clojure.math.test-combinatorics])
|
|
||||||
(require '[clojure.test :as t])
|
|
||||||
(let [{:keys [:test :pass :fail :error]} (t/run-tests 'clojure.math.test-combinatorics)]
|
|
||||||
(when-not (pos? test)
|
|
||||||
(System/exit 1))
|
|
||||||
(System/exit (+ fail error)))
|
|
||||||
"
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -eo pipefail
|
|
||||||
|
|
||||||
export BABASHKA_CLASSPATH=$(clojure -Spath -Sdeps '{:deps {cprop {:mvn/version "0.1.16"}}}')
|
|
||||||
|
|
||||||
if [ "$BABASHKA_TEST_ENV" = "native" ]; then
|
|
||||||
BB_CMD="./bb"
|
|
||||||
else
|
|
||||||
BB_CMD="lein bb"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
CPROP_ENV="hello" $BB_CMD "
|
|
||||||
(require '[cprop.core :refer [load-config]])
|
|
||||||
(require '[cprop.source :refer [from-system-props from-env]])
|
|
||||||
(println (:cprop-env (from-env)))
|
|
||||||
"
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -eo pipefail
|
|
||||||
|
|
||||||
if [ "$BABASHKA_TEST_ENV" = "native" ]; then
|
|
||||||
BB_CMD="./bb"
|
|
||||||
else
|
|
||||||
BB_CMD="lein bb"
|
|
||||||
fi
|
|
||||||
|
|
||||||
curl -sL https://raw.githubusercontent.com/borkdude/deps.clj/master/deps.clj -o deps_test.clj
|
|
||||||
chmod +x deps_test.clj
|
|
||||||
$BB_CMD deps_test.clj -Sdescribe
|
|
||||||
rm deps_test.clj
|
|
||||||
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -eo pipefail
|
|
||||||
|
|
||||||
export BABASHKA_CLASSPATH
|
|
||||||
BABASHKA_CLASSPATH="$(clojure -Spath -Sdeps '{:deps {doric {:mvn/version "0.9.0"}}}')"
|
|
||||||
|
|
||||||
if [ "$BABASHKA_TEST_ENV" = "native" ]; then
|
|
||||||
BB_CMD="./bb"
|
|
||||||
else
|
|
||||||
BB_CMD="lein bb"
|
|
||||||
fi
|
|
||||||
|
|
||||||
$BB_CMD -cp "$BABASHKA_CLASSPATH:test-resources/lib_tests" -e "
|
|
||||||
(require '[doric.test.core])
|
|
||||||
(require '[clojure.test :as t])
|
|
||||||
(let [{:keys [:test :pass :fail :error]} (t/run-tests 'doric.test.core)]
|
|
||||||
(when-not (pos? test)
|
|
||||||
(System/exit 1))
|
|
||||||
(System/exit (+ fail error)))
|
|
||||||
"
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -eo pipefail
|
|
||||||
|
|
||||||
if [ "$BABASHKA_TEST_ENV" = "native" ]; then
|
|
||||||
BB_CMD="./bb"
|
|
||||||
else
|
|
||||||
BB_CMD="lein bb"
|
|
||||||
fi
|
|
||||||
|
|
||||||
export BABASHKA_CLASSPATH
|
|
||||||
BABASHKA_CLASSPATH=$(clojure -Sdeps '{:deps {honeysql {:mvn/version "1.0.444"}}}' -Spath)
|
|
||||||
|
|
||||||
$BB_CMD -cp "$BABASHKA_CLASSPATH:test-resources/lib_tests" -e "
|
|
||||||
(require '[honeysql.core-test])
|
|
||||||
(require '[honeysql.format-test])
|
|
||||||
(require '[clojure.test :as t])
|
|
||||||
|
|
||||||
(let [{:keys [:test :pass :fail :error]}
|
|
||||||
(t/run-tests 'honeysql.core-test 'honeysql.format-test)]
|
|
||||||
(when-not (pos? test)
|
|
||||||
(System/exit 1))
|
|
||||||
(System/exit (+ fail error)))
|
|
||||||
"
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -eo pipefail
|
|
||||||
|
|
||||||
export BABASHKA_CLASSPATH="$(clojure -Sdeps '{:deps {medley {:git/url "https://github.com/weavejester/medley" :sha "a4e5fb5383f5c0d83cb2d005181a35b76d8a136d"}}}' -Spath)"
|
|
||||||
|
|
||||||
if [ "$BABASHKA_TEST_ENV" = "native" ]; then
|
|
||||||
BB_CMD="./bb"
|
|
||||||
else
|
|
||||||
BB_CMD="lein bb"
|
|
||||||
fi
|
|
||||||
|
|
||||||
$BB_CMD "
|
|
||||||
(require '[medley.core :refer [index-by random-uuid]])
|
|
||||||
(prn (index-by :id [{:id 1} {:id 2}]))
|
|
||||||
(prn (random-uuid))
|
|
||||||
"
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -eo pipefail
|
|
||||||
|
|
||||||
export BABASHKA_CLASSPATH="$(clojure -Sdeps '{:deps {regal {:git/url "https://github.com/lambdaisland/regal" :sha "b059fdb06d5586a9a04c27e7b011c467ad8546db"}}}' -Spath)"
|
|
||||||
|
|
||||||
if [ "$BABASHKA_TEST_ENV" = "native" ]; then
|
|
||||||
BB_CMD="./bb"
|
|
||||||
else
|
|
||||||
BB_CMD="lein bb"
|
|
||||||
fi
|
|
||||||
|
|
||||||
$BB_CMD "
|
|
||||||
(require '[lambdaisland.regal :as regal])
|
|
||||||
(def r [:cat
|
|
||||||
[:+ [:class [\a \z]]]
|
|
||||||
\"=\"
|
|
||||||
[:+ [:not \=]]])
|
|
||||||
|
|
||||||
(prn (regal/regex r))
|
|
||||||
(prn (re-matches (regal/regex r) \"foo=bar\"))
|
|
||||||
"
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -eo pipefail
|
|
||||||
|
|
||||||
export BABASHKA_CLASSPATH=$(clojure -Sdeps '{:deps {spartan.spec {:git/url "https://github.com/borkdude/spartan.spec" :sha "16f7eec4b6589c77c96c9fcf989f78fffcee7c4c"}}}' -Spath)
|
|
||||||
|
|
||||||
if [ "$BABASHKA_TEST_ENV" = "native" ]; then
|
|
||||||
BB_CMD="./bb"
|
|
||||||
else
|
|
||||||
BB_CMD="lein bb"
|
|
||||||
fi
|
|
||||||
|
|
||||||
$BB_CMD -e "
|
|
||||||
(time (require '[spartan.spec :as s]))
|
|
||||||
(time (s/explain (s/cat :i int? :s string?) [1 :foo]))
|
|
||||||
(time (s/conform (s/cat :i int? :s string?) [1 \"foo\"]))
|
|
||||||
"
|
|
||||||
|
|
@ -8,24 +8,4 @@ then
|
||||||
export PATH=$GRAALVM_HOME/bin:$PATH
|
export PATH=$GRAALVM_HOME/bin:$PATH
|
||||||
fi
|
fi
|
||||||
|
|
||||||
script/lib_tests/clj_http_lite_test
|
|
||||||
script/lib_tests/deps_clj_test
|
|
||||||
script/lib_tests/spartan_spec_test
|
|
||||||
script/lib_tests/clojure_csv_test
|
|
||||||
script/lib_tests/regal_test
|
|
||||||
script/lib_tests/medley_test
|
|
||||||
script/lib_tests/babashka_curl_test
|
|
||||||
script/lib_tests/cprop_test
|
|
||||||
script/lib_tests/comb_test
|
|
||||||
script/lib_tests/arrangement_test
|
|
||||||
script/lib_tests/clj_yaml_test
|
|
||||||
script/lib_tests/clojure_data_csv_test
|
|
||||||
script/lib_tests/combinatorics_test
|
|
||||||
script/lib_tests/doric_test
|
|
||||||
script/lib_tests/clojure_data_zip_test
|
|
||||||
script/lib_tests/cljc_java_time_test
|
|
||||||
script/lib_tests/camel_snake_kebab_test
|
|
||||||
script/lib_tests/aero_test
|
|
||||||
script/lib_tests/clojure_data_generators_test
|
|
||||||
script/lib_tests/honeysql_test
|
|
||||||
script/lib_tests/run_all_libtests
|
script/lib_tests/run_all_libtests
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,182 @@
|
||||||
(ns babashka.run-all-libtests
|
(ns babashka.run-all-libtests
|
||||||
(:require [clojure.test :as t]))
|
(:require [clojure.test :as t]
|
||||||
|
[clojure.java.io :as io]))
|
||||||
|
|
||||||
(def status (atom {}))
|
(def status (atom {}))
|
||||||
|
|
||||||
(defn test-namespaces [& namespaces]
|
(defn test-namespaces [& namespaces]
|
||||||
|
(doseq [ns namespaces]
|
||||||
|
(require ns))
|
||||||
(let [m (apply t/run-tests namespaces)]
|
(let [m (apply t/run-tests namespaces)]
|
||||||
(swap! status (fn [status]
|
(swap! status (fn [status]
|
||||||
(merge-with + status m)))))
|
(merge-with + status (dissoc m :type))))))
|
||||||
|
|
||||||
;;;; Minimallist
|
;;;; clj-http-lite
|
||||||
|
|
||||||
(require '[minimallist.core-test])
|
(require '[clj-http.lite.client :as client])
|
||||||
|
(require '[cheshire.core :as json])
|
||||||
|
|
||||||
|
(prn (:status (client/get "https://www.clojure.org")))
|
||||||
|
|
||||||
|
(prn (:status (client/get "https://postman-echo.com/get?foo1=bar1&foo2=bar2")))
|
||||||
|
|
||||||
|
(prn (:status (client/post "https://postman-echo.com/post")))
|
||||||
|
|
||||||
|
(prn (:status (client/post "https://postman-echo.com/post"
|
||||||
|
{:body (json/generate-string {:a 1})
|
||||||
|
:headers {"X-Hasura-Role" "admin"}
|
||||||
|
:content-type :json
|
||||||
|
:accept :json})))
|
||||||
|
|
||||||
|
(prn (:status (client/put "https://postman-echo.com/put"
|
||||||
|
{:body (json/generate-string {:a 1})
|
||||||
|
:headers {"X-Hasura-Role" "admin"}
|
||||||
|
:content-type :json
|
||||||
|
:accept :json})))
|
||||||
|
|
||||||
|
;;;; spartan.spec
|
||||||
|
|
||||||
|
(time (require '[spartan.spec :as s]))
|
||||||
|
(require '[spartan.spec :as s])
|
||||||
|
(time (s/explain (s/cat :i int? :s string?) [1 :foo]))
|
||||||
|
(time (s/conform (s/cat :i int? :s string?) [1 "foo"]))
|
||||||
|
|
||||||
|
;;;; regal
|
||||||
|
|
||||||
|
(require '[lambdaisland.regal :as regal])
|
||||||
|
(def r [:cat
|
||||||
|
[:+ [:class [\a \z]]]
|
||||||
|
"="
|
||||||
|
[:+ [:not \=]]])
|
||||||
|
|
||||||
|
(prn (regal/regex r))
|
||||||
|
(prn (re-matches (regal/regex r) "foo=bar"))
|
||||||
|
|
||||||
|
;;;; medley
|
||||||
|
|
||||||
|
(require '[medley.core :refer [index-by random-uuid]])
|
||||||
|
(prn (index-by :id [{:id 1} {:id 2}]))
|
||||||
|
(prn (random-uuid))
|
||||||
|
|
||||||
|
;;;; babashka.curl
|
||||||
|
|
||||||
|
(require '[babashka.curl :as curl] :reload-all)
|
||||||
|
|
||||||
|
(prn (:status (curl/get "https://www.clojure.org")))
|
||||||
|
|
||||||
|
(prn (:status (curl/get "https://postman-echo.com/get?foo1=bar1&foo2=bar2")))
|
||||||
|
|
||||||
|
(prn (:status (curl/post "https://postman-echo.com/post")))
|
||||||
|
|
||||||
|
(prn (:status (curl/post "https://postman-echo.com/post"
|
||||||
|
{:body (json/generate-string {:a 1})
|
||||||
|
:headers {"X-Hasura-Role" "admin"}
|
||||||
|
:content-type :json
|
||||||
|
:accept :json})))
|
||||||
|
|
||||||
|
(prn (:status (curl/put "https://postman-echo.com/put"
|
||||||
|
{:body (json/generate-string {:a 1})
|
||||||
|
:headers {"X-Hasura-Role" "admin"}
|
||||||
|
:content-type :json
|
||||||
|
:accept :json})))
|
||||||
|
|
||||||
|
|
||||||
|
;;;; cprop
|
||||||
|
|
||||||
|
(require '[cprop.core])
|
||||||
|
(require '[cprop.source :refer [from-env]])
|
||||||
|
(println (:cprop-env (from-env)))
|
||||||
|
|
||||||
|
;;;; comb
|
||||||
|
|
||||||
|
(require '[comb.template :as template])
|
||||||
|
(prn (template/eval "<% (dotimes [x 3] %>foo<% ) %>"))
|
||||||
|
(prn (template/eval "Hello <%= name %>" {:name "Alice"}))
|
||||||
|
(def hello
|
||||||
|
(template/fn [name] "Hello <%= name %>"))
|
||||||
|
(prn (hello "Alice"))
|
||||||
|
|
||||||
|
;;;; arrangement
|
||||||
|
|
||||||
|
(require '[arrangement.core :as order])
|
||||||
|
(prn (sort order/rank ['a false 2 :b nil 3.14159
|
||||||
|
"c" true \d [3 2] #{:one :two}
|
||||||
|
[3 1 2] #{:three}]))
|
||||||
|
|
||||||
|
;;;; clj-yaml
|
||||||
|
|
||||||
|
(test-namespaces 'clj-yaml.core-test)
|
||||||
|
|
||||||
|
;;;; clojure-csv
|
||||||
|
|
||||||
|
(require '[clojure-csv.core :as csv])
|
||||||
|
;; TODO: convert to test
|
||||||
|
(prn (csv/write-csv (csv/parse-csv "a,b,c\n1,2,3")))
|
||||||
|
|
||||||
|
;;;; clojure.data.zip
|
||||||
|
|
||||||
|
(require '[clojure.data.xml :as xml])
|
||||||
|
(require '[clojure.zip :as zip])
|
||||||
|
(require '[clojure.data.zip.xml :refer [attr attr= xml1->]])
|
||||||
|
|
||||||
|
(def data (str "<root>"
|
||||||
|
" <character type=\"person\" name=\"alice\" />"
|
||||||
|
" <character type=\"animal\" name=\"march hare\" />"
|
||||||
|
"</root>"))
|
||||||
|
|
||||||
|
;; TODO: convert to test
|
||||||
|
(let [xml (zip/xml-zip (xml/parse (java.io.StringReader. data)))]
|
||||||
|
;(prn :xml xml)
|
||||||
|
(prn :alice-is-a (xml1-> xml :character [(attr= :name "alice")] (attr :type)))
|
||||||
|
(prn :animal-is-called (xml1-> xml :character [(attr= :type "animal")] (attr :name))))
|
||||||
|
|
||||||
|
;;;; clojure.data.csv
|
||||||
|
|
||||||
|
(test-namespaces 'clojure.data.csv-test)
|
||||||
|
|
||||||
|
;;;; clojure.math.combinatorics
|
||||||
|
|
||||||
|
(test-namespaces 'clojure.math.test-combinatorics)
|
||||||
|
|
||||||
|
;;;; deps.clj
|
||||||
|
|
||||||
|
(spit "deps_test.clj"
|
||||||
|
(:body (curl/get "https://raw.githubusercontent.com/borkdude/deps.clj/master/deps.clj")))
|
||||||
|
|
||||||
|
(binding [*command-line-args* ["-Sdescribe"]]
|
||||||
|
(load-file "deps_test.clj"))
|
||||||
|
|
||||||
|
(.delete (io/file "deps_test.clj"))
|
||||||
|
|
||||||
|
;;;; doric
|
||||||
|
|
||||||
|
(test-namespaces 'doric.test.core)
|
||||||
|
|
||||||
|
;;;; cljc-java-time
|
||||||
|
|
||||||
|
(test-namespaces 'cljc.java-time-test)
|
||||||
|
|
||||||
|
;;;; camel-snake-kebab
|
||||||
|
|
||||||
|
(test-namespaces 'camel-snake-kebab.core-test)
|
||||||
|
|
||||||
|
;;;; aero
|
||||||
|
|
||||||
|
(test-namespaces 'aero.core-test)
|
||||||
|
|
||||||
|
;;;; clojure.data.generators
|
||||||
|
|
||||||
|
(test-namespaces 'clojure.data.generators-test)
|
||||||
|
|
||||||
|
;;;; honeysql
|
||||||
|
|
||||||
|
(test-namespaces 'honeysql.core-test 'honeysql.format-test)
|
||||||
|
|
||||||
|
;;;; minimallist
|
||||||
|
|
||||||
(test-namespaces 'minimallist.core-test)
|
(test-namespaces 'minimallist.core-test)
|
||||||
|
|
||||||
;;;; Final exit code
|
;;;; final exit code
|
||||||
|
|
||||||
(let [{:keys [:test :fail :error] :as m} @status]
|
(let [{:keys [:test :fail :error] :as m} @status]
|
||||||
(prn m)
|
(prn m)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue