]> git.saurik.com Git - apt.git/blobdiff - test/integration/test-hashsum-verification
fix test to not spoil output with warnings
[apt.git] / test / integration / test-hashsum-verification
index 033096ee8504a93f5fc60a79549ef0f4e68e9357..5f88110b3f13cdc2f55c53460be57dcf301d5272 100755 (executable)
@@ -19,13 +19,9 @@ prepare() {
        for release in $(find rootdir/var/lib/apt/lists 2> /dev/null); do
                touch -d 'now - 6 hours' $release
        done
-       rm -rf rootdir/var/cache/apt/archives
-       rm -f rootdir/var/cache/apt/*.bin
        cp $1 aptarchive/Packages
        find aptarchive -name 'Release' -delete
-       cat aptarchive/Packages | gzip > aptarchive/Packages.gz
-       cat aptarchive/Packages | bzip2 > aptarchive/Packages.bz2
-       cat aptarchive/Packages | lzma > aptarchive/Packages.lzma
+       compressfile aptarchive/Packages
         # create Release file with incorret checksums
        cat > aptarchive/Release <<EOF
 Date: Fri, 05 Aug 2011 09:22:08 UTC
@@ -68,16 +64,28 @@ runtest() {
         msgtest 'No package from the source available'
         [ "$(aptcache show apt 2>&1)" = "E: No packages found" ] && msgpass || msgfail
         msgtest 'No Packages file in /var/lib/apt/lists'
-        [ "$(ls rootdir/var/lib/apt/lists/*Package* 2>/dev/null)" = "" ] && msgpass || msgfail 
+        [ "$(ls rootdir/var/lib/apt/lists/*Package* 2>/dev/null | grep -v FAILED 2>/dev/null)" = "" ] && msgpass || msgfail 
         
         # now with the unsigned Release file
         rm -rf rootdir/var/lib/apt/lists
         rm aptarchive/InRelease aptarchive/Release.gpg
         msgtest 'unsigned apt-get update gets the expected hashsum mismatch'
-       aptget update 2>&1 | grep "Hash Sum mismatch" > /dev/null && msgpass || msgfail
-
-
+       aptget update --allow-insecure-repositories >output.log 2>&1 || true
+        if grep -q "Hash Sum mismatch" output.log; then
+            msgpass
+        else
+            cat output.log
+            msgfail
+        fi
 }
 
-runtest
-
+for COMPRESSEDINDEXES in 'false' 'true'; do
+       echo "Acquire::GzipIndexes \"$COMPRESSEDINDEXES\";" > rootdir/etc/apt/apt.conf.d/compressindexes
+       if $COMPRESSEDINDEXES; then
+               msgmsg 'Run tests with GzipIndexes enabled'
+       else
+               msgmsg 'Run tests with GzipIndexes disabled'
+       fi
+        runtest
+done