summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Andres Klode <julian.klode@canonical.com>2019-08-15 09:50:22 +0200
committerJulian Andres Klode <julian.klode@canonical.com>2019-08-15 09:53:41 +0200
commit56820d4c244e896a62f57ff96801dc1283b8b0e2 (patch)
tree2133fef8b26c5ec30b3c8525eab3ae902007607e
parent9fdcaee218505710495fea35f3b8538bebeaa1f9 (diff)
test: Use valgrind to ensure Acquire::Queue-Mode=access does not crash
Unfortunately for us, apt update with Acquire::Queue-Mode=access does not always crash on a real system, so run the whole thing in valgrind.
-rw-r--r--debian/tests/control3
-rw-r--r--test/integration/framework21
-rwxr-xr-xtest/integration/test-apt-update-simple3
3 files changed, 25 insertions, 2 deletions
diff --git a/debian/tests/control b/debian/tests/control
index a12ae6f99..c6cc75648 100644
--- a/debian/tests/control
+++ b/debian/tests/control
@@ -6,4 +6,5 @@ Depends: @, @builddeps@, dpkg, fakeroot, wget, stunnel4, lsof, db-util,
gpgv (>= 2) | gpgv2,
gpgv1 | gpgv (<< 2),
libfile-fcntllock-perl, python3-apt, aptitude,
- pkg-config
+ pkg-config,
+ valgrind
diff --git a/test/integration/framework b/test/integration/framework
index e7b82c273..44dedb10b 100644
--- a/test/integration/framework
+++ b/test/integration/framework
@@ -229,6 +229,27 @@ gdb() {
fi
runapt command gdb --quiet -ex "directory '$SOURCEDIRECTORY'" -ex run "$CMD" --args "$CMD" "$@"
}
+
+valgrind() {
+ local CMD
+ case "$1" in
+ aptget) CMD="apt-get";;
+ aptcache) CMD="apt-cache";;
+ aptcdrom) CMD="apt-cdrom";;
+ aptconfig) CMD="apt-config";;
+ aptmark) CMD="apt-mark";;
+ apthelper) CMD="apt-helper";;
+ aptftparchive) CMD="apt-ftparchive";;
+ dpkg) shift; runapt "${TMPWORKINGDIRECTORY}/rootdir/usr/bin/gdb-dpkg" "$@"; return;;
+ *) CMD="$1";;
+ esac
+ shift
+ if [ "${CMD##*/}" = "$CMD" ]; then
+ CMD="${BUILDDIRECTORY}/${CMD}"
+ fi
+ runapt command valgrind "$CMD" "$@"
+}
+
lastmodification() {
date -u -d "@$(stat -c '%Y' "${TMPWORKINGDIRECTORY}/$1")" -R
}
diff --git a/test/integration/test-apt-update-simple b/test/integration/test-apt-update-simple
index ff1d3758b..6855f1d1f 100755
--- a/test/integration/test-apt-update-simple
+++ b/test/integration/test-apt-update-simple
@@ -32,5 +32,6 @@ main/binary-all/Packages
main/i18n/Translation-en
main/i18n/Translation-de' aptget indextargets --format '$(METAKEY)'
+# Check that -o Acquire::Queue-Mode=access does not crash
find rootdir/var/lib/apt/lists/ -type f -delete
-testsuccess aptget update -o Acquire::Queue-Mode=access
+testsuccess valgrind aptget update -o Acquire::Queue-Mode=access