CI: run `make distcheck` instead of `make check`
[tinc] / .ci / test / run.sh
index a6a38b7..a7cfc29 100644 (file)
@@ -27,31 +27,39 @@ run_tests() {
   sudo git clean -dfx
   sudo chown -R "${USER:-$(whoami)}" .
 
+  mkdir -p sanitizer /tmp/logs
+
   header "Running test flavor $flavor"
 
   autoreconf -fsi
-  # shellcheck disable=SC2046
-  ./configure $(sh .ci/conf.sh "$@")
+
+  DISTCHECK_CONFIGURE_FLAGS=$(sh .ci/conf.sh "$@")
+  export DISTCHECK_CONFIGURE_FLAGS
+
+  # shellcheck disable=SC2086
+  ./configure $DISTCHECK_CONFIGURE_FLAGS
+
   make -j"$(nproc)" all extra
 
+  if [ "$(uname -s)" = Linux ]; then
+    cmd=distcheck
+  else
+    cmd=check
+  fi
+
   code=0
-  make check -j2 VERBOSE=1 || code=$?
+  make $cmd -j2 VERBOSE=1 || code=$?
 
-  mkdir -p /tmp/logs
-  sudo tar -c -z -f "/tmp/logs/tests.$flavor.tar.gz" test/
+  sudo tar -c -z -f "/tmp/logs/tests.$flavor.tar.gz" test/ sanitizer/
 
   return $code
 }
 
-echo "system name $(uname -s)"
-echo "full $(uname -a)"
-echo "o $(uname -o)"
-
 case "$(uname -s)" in
 Linux)
   if [ -n "${HOST:-}" ]; then
     # Needed for cross-compilation for 32-bit targets.
-    export CPPFLAGS='-D_FILE_OFFSET_BITS=64'
+    export CPPFLAGS="${CPPFLAGS:-} -D_FILE_OFFSET_BITS=64"
   fi
   ;;
 
@@ -64,7 +72,7 @@ Darwin)
   nproc() { sysctl -n hw.ncpu; }
   gcrypt=$(brew --prefix libgcrypt)
   openssl=$(brew --prefix openssl)
-  export CPPFLAGS="-I/usr/local/include -I$gcrypt/include -I$openssl/include -I$gcrypt/include"
+  export CPPFLAGS="${CPPFLAGS:-} -I/usr/local/include -I$gcrypt/include -I$openssl/include -I$gcrypt/include"
   ;;
 esac
 
@@ -75,6 +83,9 @@ default)
 nolegacy)
   run_tests nolegacy --disable-legacy-protocol
   ;;
+gcrypt)
+  run_tests gcrypt --with-libgcrypt
+  ;;
 *)
   bail "unknown test flavor $1"
   ;;