X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/216d0bd8869c4f52ead5256064512ac97e9fc824..321213f0dcdcdaab04e01663e7a047b261400c9c:/test/integration/test-hashsum-verification diff --git a/test/integration/test-hashsum-verification b/test/integration/test-hashsum-verification index 033096ee8..21ca87836 100755 --- a/test/integration/test-hashsum-verification +++ b/test/integration/test-hashsum-verification @@ -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 <&1 | grep "Hash Sum mismatch" > /dev/null && msgpass || msgfail - msgtest 'No package from the source available' - [ "$(aptcache show apt 2>&1)" = "E: No packages found" ] && msgpass || msgfail + # test signed release file + msgtest 'apt-get update gets the expected hashsum mismatch' + testfailure aptget update + testsuccess grep "Hash Sum mismatch" rootdir/tmp/testfailure.output + msgtest 'No package from the source available' + testfailureequal --nomsg 'N: Unable to locate package apt +E: No packages found' aptcache show apt 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 - - + msgtest 'unsigned apt-get update gets the expected hashsum mismatch' + testfailure --nomsg aptget update --allow-insecure-repositories + testsuccess grep "Hash Sum mismatch" rootdir/tmp/testfailure.output } -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