summaryrefslogtreecommitdiff
path: root/test/integration/test-apt-update-unauth
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/test-apt-update-unauth')
-rwxr-xr-xtest/integration/test-apt-update-unauth47
1 files changed, 39 insertions, 8 deletions
diff --git a/test/integration/test-apt-update-unauth b/test/integration/test-apt-update-unauth
index 13487603c..b7ccd6cf3 100755
--- a/test/integration/test-apt-update-unauth
+++ b/test/integration/test-apt-update-unauth
@@ -8,6 +8,8 @@ set -e
TESTDIR=$(readlink -f $(dirname $0))
. $TESTDIR/framework
+umask 022
+
setupenvironment
configarchitecture "i386"
@@ -17,23 +19,53 @@ insertsource 'unstable' 'foo' 'all' '1.0'
setupaptarchive
changetowebserver
+# FIXME:
+# - also check the unauth -> auth success case, i.e. that all files are
+# reverified
runtest() {
# start unauthenticated
find rootdir/var/lib/apt/lists/ -type f | xargs rm -f
rm -f aptarchive/dists/unstable/*Release*
- aptget update -qq
+
+ testsuccess aptget update -qq --allow-insecure-repositories
+
+ # FIXME: this really shouldn't be needed
+ rm -f rootdir/var/lib/apt/lists/partial/*
# become authenticated
generatereleasefiles
signreleasefiles
- # and ensure we do download the data again
- msgtest "Check that the data is check when going to authenticated"
- if aptget update |grep -q Hit; then
- msgfail
- else
+ # move uncompressed away
+ mv aptarchive/dists/unstable/main/binary-i386/Packages \
+ aptarchive/dists/unstable/main/binary-i386/Packages.uncompressed
+
+ # and ensure we re-check the downloaded data
+
+ # change the local packages file
+ PKGS=$(ls rootdir/var/lib/apt/lists/*Packages*)
+ echo "meep" > $PKGS
+ ls rootdir/var/lib/apt/lists/ > 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
+
+ # ensure we have before what we have after
+ msgtest 'Check rollback on going from' 'unauth -> auth'
+ ls rootdir/var/lib/apt/lists/ > lists.after
+ if cmp lists.before lists.after; then
msgpass
+ else
+ echo >&2 '### Output of previous apt-get update ###'
+ cat >&2 rootdir/tmp/testfailure.output
+ echo >&2 '### Changes in the lists-directory: ###'
+ diff -u >&2 lists.before lists.after
+ msgfail
fi
+
+ # move uncompressed back for release file
+ mv aptarchive/dists/unstable/main/binary-i386/Packages.uncompressed \
+ aptarchive/dists/unstable/main/binary-i386/Packages
}
for COMPRESSEDINDEXES in 'false' 'true'; do
@@ -43,6 +75,5 @@ for COMPRESSEDINDEXES in 'false' 'true'; do
else
msgmsg 'Run tests with GzipIndexes disabled'
fi
-
- runtest
+ runtest
done