]> git.saurik.com Git - apt.git/blobdiff - test/integration/test-apt-update-unauth
treat .ddeb files like .deb, especially for dpkg
[apt.git] / test / integration / test-apt-update-unauth
index cf51950243745b1713b2307f9b66365f33e949df..ef1e4eca7b020db1ccea6e2199b56f862e7dae54 100755 (executable)
@@ -5,18 +5,19 @@
 #
 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: 
@@ -24,13 +25,10 @@ changetowebserver
 #    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
 
-    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
@@ -41,26 +39,32 @@ runtest() {
         aptarchive/dists/unstable/main/binary-i386/Packages.uncompressed
 
     # and ensure we re-check the downloaded data
-    msgtest "Check rollback on going from unauth -> auth"
 
     # 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
-    aptget update -o Debug::Acquire::Transaction=0 -o Debug::pkgAcquire::Auth=1 -o Debug::pkgAcquire::worker=0 -o Debug::acquire::http=0 > output.log 2>&1 || true
+    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
-    ls rootdir/var/lib/apt/lists/ > lists.after
-    if diff -u lists.before lists.after; then
+    msgtest 'Check rollback on going from' 'unauth -> auth'
+    listcurrentlistsdirectory > lists.after
+    if cmp lists.before lists.after; then
         msgpass
     else
-        cat output.log
-        msgfail
+       echo >&2
+       echo >&2 '### Output of previous apt-get update ###'
+       cat >&2 rootdir/tmp/testfailure.output || true
+       echo >&2 '### Changes in the lists-directory: ###'
+       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
 
-    # move uncompressed back for release file 
+    # move uncompressed back for release file
     mv aptarchive/dists/unstable/main/binary-i386/Packages.uncompressed \
         aptarchive/dists/unstable/main/binary-i386/Packages
 }
@@ -72,6 +76,5 @@ for COMPRESSEDINDEXES in 'false' 'true'; do
        else
                msgmsg 'Run tests with GzipIndexes disabled'
        fi
-
-        runtest
+       runtest
 done