]> git.saurik.com Git - apt.git/blobdiff - test/integration/test-apt-update-unauth
Use Acquire::Allow{InsecureRepositories,DowngradeToInsecureRepositories}
[apt.git] / test / integration / test-apt-update-unauth
index 13487603cd04858bae2e432f44dea503a22138b3..ade523ea7ce3458dd30e0735bfe7446ba701ef64 100755 (executable)
@@ -8,6 +8,8 @@ set -e
 TESTDIR=$(readlink -f $(dirname $0))
 . $TESTDIR/framework
 
+umask 022
+
 setupenvironment
 configarchitecture "i386"
 
@@ -17,23 +19,41 @@ 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
+    # remove uncompressed version
+    find aptarchive/ -name Packages | xargs rm -f
+    aptget update -qq --allow-insecure-repositories
 
     # 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
+    # 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 -l rootdir/var/lib/apt/lists > lists.before
+
+    # update and ensure all is reverted on the hashsum failure
+    aptget update -o Debug::Acquire::Transaction=1 -o Debug::pkgAcquire::Auth=1 -o Debug::pkgAcquire::worker=0 > output.log 2>&1 || true
+
+    # ensure we have before what we have after
+    ls -l rootdir/var/lib/apt/lists > lists.after
+    if diff -u lists.before lists.after; then
         msgpass
+    else
+        #cat output.log
+        msgfail
     fi
+
 }
 
 for COMPRESSEDINDEXES in 'false' 'true'; do