aboutsummaryrefslogtreecommitdiff
path: root/thirdparty/ryml/tools/test_suite
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2025-11-07 14:49:13 +0100
committerGitHub Enterprise <[email protected]>2025-11-07 14:49:13 +0100
commit24e43a913f29ac3b314354e8ce5175f135bcc64f (patch)
treeca442937ceeb63461012b33a4576e9835099f106 /thirdparty/ryml/tools/test_suite
parentget oplog attachments (#622) (diff)
downloadzen-24e43a913f29ac3b314354e8ce5175f135bcc64f.tar.xz
zen-24e43a913f29ac3b314354e8ce5175f135bcc64f.zip
switch to xmake for package management (#611)
This change removes our dependency on vcpkg for package management, in favour of bringing some code in-tree in the `thirdparty` folder as well as using the xmake build-in package management feature. For the latter, all the package definitions are maintained in the zen repo itself, in the `repo` folder. It should now also be easier to build the project as it will no longer depend on having the right version of vcpkg installed, which has been a common problem for new people coming in to the codebase. Now you should only need xmake to build. * Bumps xmake requirement on github runners to 2.9.9 to resolve an issue where xmake on Windows invokes cmake with `v144` toolchain which does not exist * BLAKE3 is now in-tree at `thirdparty/blake3` * cpr is now in-tree at `thirdparty/cpr` * cxxopts is now in-tree at `thirdparty/cxxopts` * fmt is now in-tree at `thirdparty/fmt` * robin-map is now in-tree at `thirdparty/robin-map` * ryml is now in-tree at `thirdparty/ryml` * sol2 is now in-tree at `thirdparty/sol2` * spdlog is now in-tree at `thirdparty/spdlog` * utfcpp is now in-tree at `thirdparty/utfcpp` * xmake package repo definitions is in `repo` * implemented support for sanitizers. ASAN is supported on windows, TSAN, UBSAN, MSAN etc are supported on Linux/MacOS though I have not yet tested it extensively on MacOS * the zencore encryption implementation also now supports using mbedTLS which is used on MacOS, though for now we still use openssl on Linux * crashpad * bumps libcurl to 8.11.0 (from 8.8.0) which should address a rare build upload bug
Diffstat (limited to 'thirdparty/ryml/tools/test_suite')
-rw-r--r--thirdparty/ryml/tools/test_suite/Dockerfile33
-rwxr-xr-xthirdparty/ryml/tools/test_suite/run_test_suite.sh18
2 files changed, 51 insertions, 0 deletions
diff --git a/thirdparty/ryml/tools/test_suite/Dockerfile b/thirdparty/ryml/tools/test_suite/Dockerfile
new file mode 100644
index 000000000..fc5b51d65
--- /dev/null
+++ b/thirdparty/ryml/tools/test_suite/Dockerfile
@@ -0,0 +1,33 @@
+FROM alpine:latest
+
+# to run:
+# docker run --rm -it -v $PWD:/host alpine sh
+# docker run --rm -it -v $PWD:/host -w /host -v /tmp/bash_history:/root/.bash_history yts-importing bash
+#
+
+RUN apk add build-base \
+ && apk add \
+ bash \
+ curl \
+ fortune \
+ git \
+ jq \
+ perl \
+ perl-app-cpanminus \
+ tig \
+ vim \
+ wget \
+ python \
+ cmake \
+ ninja \
+ && true
+
+RUN cpanm -n \
+ boolean \
+ Capture::Tiny \
+ XXX \
+ YAML::PP \
+ && true
+
+
+ENV PYTHONPATH=/python/lib/python3.7/site-packages
diff --git a/thirdparty/ryml/tools/test_suite/run_test_suite.sh b/thirdparty/ryml/tools/test_suite/run_test_suite.sh
new file mode 100755
index 000000000..4f955f67b
--- /dev/null
+++ b/thirdparty/ryml/tools/test_suite/run_test_suite.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+set -x
+set -e
+
+d=$1
+[ "$d" == "" ] && d=.
+if [ ! -d $d ] ; then
+ echo "$d is not a directory"
+ exit 1
+fi
+d=$(cd $d ; pwd) # get absolute path
+
+cd $d/yaml-test-runtimes
+make force build
+cd $d/yaml-test-suite
+make clean run-tests export
+xsel -b <export.tsv