summaryrefslogtreecommitdiff
path: root/debian/tests
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2022-05-11 09:21:23 +0000
committerJulian Andres Klode <jak@debian.org>2022-05-11 09:21:23 +0000
commitbed5d00b5c6f70ae80d180ef162316e3bafb0ad0 (patch)
tree85585f36ef08b56f0ed87bf6342a0c7c24d3a82d /debian/tests
parent4fe52f98c7d12bc8fb07411b1c0594a032eadb3a (diff)
parent018cf7c225837b65e2b146788f786685629a5b12 (diff)
Merge branch 'ci/nomorelessdocs' into 'main'
Support building with no/less docs and use it more in CI See merge request apt-team/apt!238
Diffstat (limited to 'debian/tests')
-rw-r--r--debian/tests/control13
-rw-r--r--debian/tests/pkg-config-test31
-rw-r--r--debian/tests/run-tests29
3 files changed, 47 insertions, 26 deletions
diff --git a/debian/tests/control b/debian/tests/control
index 446f0afcc..e273b737f 100644
--- a/debian/tests/control
+++ b/debian/tests/control
@@ -1,10 +1,11 @@
-Tests: run-tests, pkg-config-test
+Tests: pkg-config-test
+Restrictions: superficial
+Depends: libapt-pkg-dev, pkg-config
+
+Tests: run-tests
Restrictions: allow-stderr
Depends: @, @builddeps@, dpkg (>= 1.20.8), fakeroot, wget, stunnel4, lsof, db-util,
- gnupg (>= 2) | gnupg2,
- gnupg1 | gnupg (<< 2),
- gpgv (>= 2) | gpgv2,
- gpgv1 | gpgv (<< 2),
+ gnupg (>= 2) | gnupg2, gnupg1 | gnupg (<< 2),
+ gpgv (>= 2) | gpgv2, gpgv1 | gpgv (<< 2),
libfile-fcntllock-perl, python3-apt, aptitude,
- pkg-config,
valgrind, gdb-minimal | gdb
diff --git a/debian/tests/pkg-config-test b/debian/tests/pkg-config-test
index 1e4ec141e..e074b1603 100644
--- a/debian/tests/pkg-config-test
+++ b/debian/tests/pkg-config-test
@@ -1,23 +1,32 @@
#!/bin/sh
-
set -e
-WORKDIR=$(mktemp -d)
-trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
-cd $WORKDIR
-cat <<EOF > pkgconfigtest.c
+if [ -z "$AUTOPKGTEST_TMP" ]; then
+ WORKDIR=''
+ cleanup() {
+ if [ -n "$WORKDIR" ]; then cd /; rm -rf -- "$WORKDIR"; fi
+ WORKDIR=''
+ }
+ trap 'cleanup' 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM
+ WORKDIR="$(mktemp -d)"
+ cd "$WORKDIR"
+else
+ cd "$AUTOPKGTEST_TMP"
+fi
+
+cat >pkgconfigtest.cc <<EOF
#include <apt-pkg/init.h>
-#include <stdio.h>
+#include <cstdio>
int main()
{
- printf("Apt Version: %s \n", pkgVersion);
+ printf("APT Version: %s\n", pkgVersion);
return 0;
}
EOF
-g++ -o pkgconfigtest pkgconfigtest.c `pkg-config --cflags --libs apt-pkg`
-echo "build: OK"
-[ -x pkgconfigtest ]
+g++ -Wall -Wextra -o pkgconfigtest pkgconfigtest.cc `pkg-config --cflags --libs apt-pkg`
+echo 'build: OK'
+test -x pkgconfigtest
./pkgconfigtest
-echo "run: OK"
+echo 'run: OK'
diff --git a/debian/tests/run-tests b/debian/tests/run-tests
index ff3359fae..c7ca16b35 100644
--- a/debian/tests/run-tests
+++ b/debian/tests/run-tests
@@ -1,26 +1,37 @@
#!/bin/sh
-
set -e
-if [ ! -e build/CMakeCache.txt ]; then
- mkdir build || true
- ( cd build && cmake .. )
+SOURCE_DIR="$(pwd)"
+if [ -z "$AUTOPKGTEST_TMP" ]; then
+ BUILD_DIR=''
+ cleanup() {
+ if [ -n "$BUILD_DIR" ]; then cd /; rm -rf -- "$BUILD_DIR"; fi
+ BUILD_DIR=''
+ }
+ trap 'cleanup' 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM
+ BUILD_DIR="$(mktemp -d)"
+else
+ BUILD_DIR="$AUTOPKGTEST_TMP"
+fi
+
+if [ ! -e "${BUILD_DIR}/CMakeCache.txt" ]; then
+ cmake -S "$SOURCE_DIR" -B "$BUILD_DIR" -DUSE_SYSTEM_APTPKG=ON -DWITH_DOC=OFF -DUSE_NLS=OFF
fi
-make -C build/test/interactive-helper
+make -C "${BUILD_DIR}/test/interactive-helper"
# run tests against the installed apt, use "env -i" to ensure
# the host env does not pollute our environment
env -i \
-APT_INTEGRATION_TESTS_SOURCE_DIR=$(pwd) \
-APT_INTEGRATION_TESTS_HELPERS_BIN_DIR=$(pwd)/build/test/interactive-helper \
+APT_INTEGRATION_TESTS_SOURCE_DIR="${SOURCE_DIR}" \
+APT_INTEGRATION_TESTS_BUILD_DIR="${BUILD_DIR}" \
APT_INTEGRATION_TESTS_METHODS_DIR=/usr/lib/apt/methods \
APT_INTEGRATION_TESTS_LIBEXEC_DIR=/usr/lib/apt/ \
APT_INTEGRATION_TESTS_INTERNAL_SOLVER=/usr/lib/apt/solvers/apt \
APT_INTEGRATION_TESTS_DUMP_SOLVER=/usr/lib/apt/solvers/dump \
APT_INTEGRATION_TESTS_INTERNAL_PLANNER=/usr/lib/apt/planners/apt \
-APT_INTEGRATION_TESTS_BUILD_DIR=/usr/bin \
APT_INTEGRATION_TESTS_FTPARCHIVE_BIN_DIR=/usr/bin \
+APT_INTEGRATION_TESTS_CMDLINE_BIN_DIR=/usr/bin \
APT_INTEGRATION_TESTS_LIBRARY_PATH=/dev/null/does/not/exist \
APT_INTEGRATION_TESTS_ARTIFACTS_DIR="${AUTOPKGTEST_ARTIFACTS}" \
-./test/integration/run-tests -q
+"${SOURCE_DIR}/test/integration/run-tests" -q