diff --git a/script/lib_tests/clj_yaml_tests b/script/lib_tests/clj_yaml_tests new file mode 100755 index 00000000..0a2ae371 --- /dev/null +++ b/script/lib_tests/clj_yaml_tests @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +set -eo pipefail + +if [ "$BABASHKA_TEST_ENV" = "native" ]; then + BB_CMD="./bb" +else + BB_CMD="lein bb" +fi + +$BB_CMD -e " +(require '[clojure.java.io :as io]) +(def test-file (io/file (System/getProperty \"java.io.tmpdir\") \"core_test.clj\")) +(io/copy + (io/input-stream \"https://raw.githubusercontent.com/clj-commons/clj-yaml/master/test/clj_yaml/core_test.clj\") + test-file) +(load-file test-file) +(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/run_lib_tests b/script/run_lib_tests index 3130036b..49ac84db 100755 --- a/script/run_lib_tests +++ b/script/run_lib_tests @@ -12,3 +12,4 @@ 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 diff --git a/src/babashka/impl/classes.clj b/src/babashka/impl/classes.clj index 21a74071..57707e8a 100644 --- a/src/babashka/impl/classes.clj +++ b/src/babashka/impl/classes.clj @@ -112,7 +112,9 @@ java.util.zip.InflaterInputStream java.util.zip.DeflaterInputStream java.util.zip.GZIPInputStream - java.util.zip.GZIPOutputStream] + java.util.zip.GZIPOutputStream + org.yaml.snakeyaml.error.YAMLException + ] :constructors [clojure.lang.Delay clojure.lang.MapEntry clojure.lang.LineNumberingPushbackReader diff --git a/src/babashka/impl/yaml.clj b/src/babashka/impl/yaml.clj index 1c1206c0..33ad7a4f 100644 --- a/src/babashka/impl/yaml.clj +++ b/src/babashka/impl/yaml.clj @@ -7,5 +7,7 @@ (def yns (vars/->SciNamespace 'clj-yaml.core nil)) (def yaml-namespace - {'generate-string (copy-var yaml/generate-string yns) + {'mark (copy-var yaml/mark yns) + 'unmark (copy-var yaml/unmark yns) + 'generate-string (copy-var yaml/generate-string yns) 'parse-string (copy-var yaml/parse-string yns)})