summaryrefslogtreecommitdiffstats
path: root/debian/tests/upstream-simulation-test-suite
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-09 12:48:03 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-09 12:48:03 +0000
commit6d46de912288f0875f0e3cca27b8d7455fa07b42 (patch)
treeb2ee235051d590490c0fdccbf0241b3706e292e7 /debian/tests/upstream-simulation-test-suite
parentAdding upstream version 4.5. (diff)
downloadchrony-6d46de912288f0875f0e3cca27b8d7455fa07b42.tar.xz
chrony-6d46de912288f0875f0e3cca27b8d7455fa07b42.zip
Adding debian version 4.5-1.debian/4.5-1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/tests/upstream-simulation-test-suite')
-rw-r--r--debian/tests/upstream-simulation-test-suite38
1 files changed, 38 insertions, 0 deletions
diff --git a/debian/tests/upstream-simulation-test-suite b/debian/tests/upstream-simulation-test-suite
new file mode 100644
index 0000000..427c710
--- /dev/null
+++ b/debian/tests/upstream-simulation-test-suite
@@ -0,0 +1,38 @@
+#!/bin/sh
+# Upstream makes use of “clknetsim” to test how well “chronyd” controls the
+# system clocks in various conditions. Due to “clknetsim” not being available
+# in Debian, let’s use autopkgtest facility to build it in a container and
+# test “chronyd” from there.
+
+set -e
+
+testdir="$PWD/test/simulation"
+clknetsim_ver=5d1dc05
+clknetsim_src=https://github.com/mlichvar/clknetsim/archive/"$clknetsim_ver"/clknetsim-"$clknetsim_ver".tar.gz
+clknetsim_archive=$(basename "$clknetsim_src")
+
+export CLKNETSIM_PATH="$AUTOPKGTEST_TMP"
+
+# Always use the same seed to get deterministic results
+export CLKNETSIM_RANDOM_SEED=24508
+
+DEB_HOST_MULTIARCH=$(dpkg-architecture -qDEB_HOST_MULTIARCH)
+
+# The simulation tests are only supported on Linux.
+dpkg-architecture -ilinux-any || exit 77
+
+prepare_clknetsim() {
+ wget -P "$CLKNETSIM_PATH" "$clknetsim_src" 2>&1 || exit 77
+ tar -xvzf "$CLKNETSIM_PATH"/"$clknetsim_archive" \
+ -C "$CLKNETSIM_PATH" --strip-components=1 2>&1 || exit 77
+
+ if [ ! -x "$CLKNETSIM_PATH/clknetsim" ] && [ ! -e "$CLKNETSIM_PATH/clknetsim.so" ]; then
+ make -C "$CLKNETSIM_PATH" 2>&1
+ fi
+}
+
+run_test() {
+ cd "$testdir" && ./run
+}
+
+prepare_clknetsim && run_test