#
set -e
-TESTDIR=$(readlink -f $(dirname $0))
-. $TESTDIR/framework
+TESTDIR="$(readlink -f "$(dirname "$0")")"
+. "$TESTDIR/framework"
umask 022
setupenvironment
configarchitecture "i386"
+configcompression '.' 'xz'
-insertpackage 'unstable' 'foo' 'all' '1.0'
-insertsource 'unstable' 'foo' 'all' '1.0'
+insertpackage 'unstable' 'foo' 'i386' '1.0'
+insertsource 'unstable' 'foo' 'any' '1.0'
-setupaptarchive
+setupaptarchive --no-update
changetowebserver
# FIXME:
# reverified
runtest() {
# start unauthenticated
- find rootdir/var/lib/apt/lists/ -type f | xargs rm -f
- rm -f aptarchive/dists/unstable/*Release*
+ rm -rf rootdir/var/lib/apt/lists/
+ find aptarchive/ -name '*Release*' -delete
- testsuccess aptget update -qq --allow-insecure-repositories
-
- # FIXME: this really shouldn't be needed
- rm -f rootdir/var/lib/apt/lists/partial/*
+ testwarning aptget update --allow-insecure-repositories
# become authenticated
generatereleasefiles
# change the local packages file
PKGS=$(ls rootdir/var/lib/apt/lists/*Packages*)
echo "meep" > $PKGS
- ls rootdir/var/lib/apt/lists/ > lists.before
+ listcurrentlistsdirectory > lists.before
# update and ensure all is reverted on the hashsum failure
- testfailure aptget update -o Debug::Acquire::Transaction=0 -o Debug::pkgAcquire::Auth=1 -o Debug::pkgAcquire::worker=0 -o Debug::acquire::http=0
+ testfailure aptget update -o Debug::Acquire::Transaction=1 -o Debug::pkgAcquire::Auth=1 -o Debug::pkgAcquire::worker=0 -o Debug::acquire::http=0
# ensure we have before what we have after
msgtest 'Check rollback on going from' 'unauth -> auth'
- ls rootdir/var/lib/apt/lists/ > lists.after
+ listcurrentlistsdirectory > lists.after
if cmp lists.before lists.after; then
msgpass
else
+ echo >&2
echo >&2 '### Output of previous apt-get update ###'
- cat >&2 rootdir/tmp/testfailure.output
+ cat >&2 rootdir/tmp/testfailure.output || true
echo >&2 '### Changes in the lists-directory: ###'
- diff -u >&2 lists.before lists.after
+ diff -u >&2 lists.before lists.after || true
+ echo >&2 '### Contents of the lists-directory: ###'
+ ls -l rootdir/var/lib/apt/lists rootdir/var/lib/apt/lists/partial || true
msgfail
fi