X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/71ecaad29d8066a494f516efc5efd80860653fe2..105503b4b470c124bc0c271bd8a50e25ecbe9133:/test/integration/test-hashsum-verification diff --git a/test/integration/test-hashsum-verification b/test/integration/test-hashsum-verification index 3ac9eccfb..a514b85e2 100755 --- a/test/integration/test-hashsum-verification +++ b/test/integration/test-hashsum-verification @@ -1,8 +1,8 @@ #!/bin/sh set -e -TESTDIR=$(readlink -f $(dirname $0)) -. $TESTDIR/framework +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" setupenvironment configarchitecture "i386" @@ -17,13 +17,11 @@ prepare() { DATE='now + 6 days' fi for release in $(find rootdir/var/lib/apt/lists 2> /dev/null); do - touch -d 'now - 6 hours' $release + touch -d 'now - 6 hours' "$release" done - cp $1 aptarchive/Packages + 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 - msgtest 'No Packages file in /var/lib/apt/lists' - [ "$(ls rootdir/var/lib/apt/lists/*Package* 2>/dev/null)" = "" ] && 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' + testempty find rootdir/var/lib/apt/lists -maxdepth 1 -name '*Package*' + # 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 - - + rm -f aptarchive/InRelease aptarchive/Release.gpg + 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