diff --git a/.circleci/config.yml b/.circleci/config.yml
index f38fde83..36c49462 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -22,7 +22,7 @@ jobs:
git submodule update
- restore_cache:
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
- v1-dependencies-
- run:
@@ -63,7 +63,7 @@ jobs:
- save_cache:
paths:
- ~/.m2
- key: v1-dependencies-{{ checksum "project.clj" }}
+ key: v1-dependencies-{{ checksum "project.clj" }}-{{ checksum "deps.edn" }}
linux:
docker:
- image: circleci/clojure:lein-2.9.1
diff --git a/deps.edn b/deps.edn
index 9e4879b8..dbbc49eb 100644
--- a/deps.edn
+++ b/deps.edn
@@ -31,4 +31,28 @@
:jvm-opts ["-Djdk.attach.allowAttachSelf"]
:main-opts ["-m" "babashka.profile"]}
: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"}}}}}
diff --git a/script/lib_tests/aero_test b/script/lib_tests/aero_test
deleted file mode 100755
index 7df99d3a..00000000
--- a/script/lib_tests/aero_test
+++ /dev/null
@@ -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)))
-"
diff --git a/script/lib_tests/arrangement_test b/script/lib_tests/arrangement_test
deleted file mode 100755
index fa93438f..00000000
--- a/script/lib_tests/arrangement_test
+++ /dev/null
@@ -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}])"
diff --git a/script/lib_tests/babashka_curl_test b/script/lib_tests/babashka_curl_test
deleted file mode 100755
index 84f60151..00000000
--- a/script/lib_tests/babashka_curl_test
+++ /dev/null
@@ -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})))
-"
diff --git a/script/lib_tests/camel_snake_kebab_test b/script/lib_tests/camel_snake_kebab_test
deleted file mode 100755
index af1ee5d2..00000000
--- a/script/lib_tests/camel_snake_kebab_test
+++ /dev/null
@@ -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)))
-"
diff --git a/script/lib_tests/clj_http_lite_test b/script/lib_tests/clj_http_lite_test
deleted file mode 100755
index b4769261..00000000
--- a/script/lib_tests/clj_http_lite_test
+++ /dev/null
@@ -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})))
-"
diff --git a/script/lib_tests/clj_yaml_test b/script/lib_tests/clj_yaml_test
deleted file mode 100755
index a20a5279..00000000
--- a/script/lib_tests/clj_yaml_test
+++ /dev/null
@@ -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)))
-"
diff --git a/script/lib_tests/cljc_java_time_test b/script/lib_tests/cljc_java_time_test
deleted file mode 100755
index e1f14e4f..00000000
--- a/script/lib_tests/cljc_java_time_test
+++ /dev/null
@@ -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)))
-"
diff --git a/script/lib_tests/clojure_csv_test b/script/lib_tests/clojure_csv_test
deleted file mode 100755
index c9b6adf0..00000000
--- a/script/lib_tests/clojure_csv_test
+++ /dev/null
@@ -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\")))
-"
diff --git a/script/lib_tests/clojure_data_csv_test b/script/lib_tests/clojure_data_csv_test
deleted file mode 100755
index c229ab92..00000000
--- a/script/lib_tests/clojure_data_csv_test
+++ /dev/null
@@ -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)))
-"
diff --git a/script/lib_tests/clojure_data_generators_test b/script/lib_tests/clojure_data_generators_test
deleted file mode 100755
index 5e34432d..00000000
--- a/script/lib_tests/clojure_data_generators_test
+++ /dev/null
@@ -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)))
-"
diff --git a/script/lib_tests/clojure_data_zip_test b/script/lib_tests/clojure_data_zip_test
deleted file mode 100755
index 3cbbfb6b..00000000
--- a/script/lib_tests/clojure_data_zip_test
+++ /dev/null
@@ -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 \"\"
- \" \"
- \" \"
- \"\"))
-
-;(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))))
-"
diff --git a/script/lib_tests/comb_test b/script/lib_tests/comb_test
deleted file mode 100755
index 3e6e88df..00000000
--- a/script/lib_tests/comb_test
+++ /dev/null
@@ -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"))
-'
diff --git a/script/lib_tests/combinatorics_test b/script/lib_tests/combinatorics_test
deleted file mode 100755
index d71a9c3d..00000000
--- a/script/lib_tests/combinatorics_test
+++ /dev/null
@@ -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)))
-"
diff --git a/script/lib_tests/cprop_test b/script/lib_tests/cprop_test
deleted file mode 100755
index 71ef87bd..00000000
--- a/script/lib_tests/cprop_test
+++ /dev/null
@@ -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)))
-"
diff --git a/script/lib_tests/deps_clj_test b/script/lib_tests/deps_clj_test
deleted file mode 100755
index d23ae8b6..00000000
--- a/script/lib_tests/deps_clj_test
+++ /dev/null
@@ -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
-
diff --git a/script/lib_tests/doric_test b/script/lib_tests/doric_test
deleted file mode 100755
index 9838c099..00000000
--- a/script/lib_tests/doric_test
+++ /dev/null
@@ -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)))
-"
diff --git a/script/lib_tests/honeysql_test b/script/lib_tests/honeysql_test
deleted file mode 100755
index cafadff3..00000000
--- a/script/lib_tests/honeysql_test
+++ /dev/null
@@ -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)))
-"
diff --git a/script/lib_tests/medley_test b/script/lib_tests/medley_test
deleted file mode 100755
index 9bdd30fd..00000000
--- a/script/lib_tests/medley_test
+++ /dev/null
@@ -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))
-"
diff --git a/script/lib_tests/regal_test b/script/lib_tests/regal_test
deleted file mode 100755
index 4073c9e6..00000000
--- a/script/lib_tests/regal_test
+++ /dev/null
@@ -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\"))
-"
diff --git a/script/lib_tests/spartan_spec_test b/script/lib_tests/spartan_spec_test
deleted file mode 100755
index 0100ca83..00000000
--- a/script/lib_tests/spartan_spec_test
+++ /dev/null
@@ -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\"]))
-"
diff --git a/script/run_lib_tests b/script/run_lib_tests
index 1bc97cb5..c91c845c 100755
--- a/script/run_lib_tests
+++ b/script/run_lib_tests
@@ -8,24 +8,4 @@ then
export PATH=$GRAALVM_HOME/bin:$PATH
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
diff --git a/test-resources/lib_tests/babashka/run_all_libtests.clj b/test-resources/lib_tests/babashka/run_all_libtests.clj
index 518c9716..e802528e 100644
--- a/test-resources/lib_tests/babashka/run_all_libtests.clj
+++ b/test-resources/lib_tests/babashka/run_all_libtests.clj
@@ -1,20 +1,182 @@
(ns babashka.run-all-libtests
- (:require [clojure.test :as t]))
+ (:require [clojure.test :as t]
+ [clojure.java.io :as io]))
(def status (atom {}))
(defn test-namespaces [& namespaces]
+ (doseq [ns namespaces]
+ (require ns))
(let [m (apply t/run-tests namespaces)]
(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 ""
+ " "
+ " "
+ ""))
+
+;; 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)
-;;;; Final exit code
+;;;; final exit code
(let [{:keys [:test :fail :error] :as m} @status]
(prn m)