12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- #!/bin/sh
- set -eux
- bail() {
- echo >&2 "@"
- exit 1
- }
- header() {
- echo '################################################################################'
- echo "# $*"
- echo '################################################################################'
- }
- run_tests() {
- flavor="$1"
- shift
- header "Cleaning up leftovers from previous runs"
- for name in tinc tincd; do
- sudo pkill -TERM -x "$name" || true
- sudo pkill -KILL -x "$name" || true
- done
- sudo chown -R "${USER:-$(whoami)}" . || true
- mkdir -p sanitizer /tmp/logs
- header "Running test flavor $flavor"
- ./.ci/build.sh "$flavor" "$@"
- if [ "${HOST:-}" = mingw ]; then
- echo >&2 "Integration tests cannot run under wine, skipping"
- return 0
- fi
- if [ -n "${HOST:-}" ]; then
- echo >&2 "Using higher test timeout for cross-compilation job $HOST"
- timeout=10
- else
- timeout=1
- fi
- code=0
- meson test -C "$flavor" --timeout-multiplier $timeout --verbose || code=$?
- sudo tar -c -z -f "/tmp/logs/tests.$flavor.tar.gz" "$flavor" sanitizer/ || true
- return $code
- }
- case "$(uname -s)" in
- MINGW* | Darwin) sudo() { "$@"; } ;;
- esac
- flavor=$1
- shift
- case "$flavor" in
- default)
- run_tests default "$@"
- ;;
- nolegacy)
- run_tests nolegacy -Dcrypto=nolegacy "$@"
- ;;
- gcrypt)
- run_tests gcrypt -Dcrypto=gcrypt "$@"
- ;;
- openssl3)
- if [ -d /opt/ssl3 ]; then
- run_tests openssl3 -Dpkg_config_path=/opt/ssl3/lib64/pkgconfig "$@"
- else
- echo >&2 "OpenSSL 3 not installed, skipping test"
- fi
- ;;
- *)
- bail "unknown test flavor $1"
- ;;
- esac
|