X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/4d0818cc39f7c0d44ecdfcdf9701058f81caa492..29636cc759c6fbb92c6c462c90611eefb67cbbd4:/test/integration/test-hashsum-verification diff --git a/test/integration/test-hashsum-verification b/test/integration/test-hashsum-verification index 5f88110b3..a31be6bcb 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,9 +17,9 @@ 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 compressfile aptarchive/Packages # create Release file with incorret checksums @@ -53,30 +53,27 @@ touch aptarchive/apt.deb PKGFILE="${TESTDIR}/$(echo "$(basename $0)" | sed 's#^test-#Packages-#')" runtest() { - prepare ${PKGFILE} + prepare "${PKGFILE}" rm -rf rootdir/var/lib/apt/lists signreleasefiles 'Joe Sixpack' find aptarchive/ -name "$DELETEFILE" -delete - # test signed release file - msgtest 'apt-get update gets the expected hashsum mismatch' - aptget update 2>&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 | 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 --allow-insecure-repositories >output.log 2>&1 || true - if grep -q "Hash Sum mismatch" output.log; then - msgpass - else - cat output.log - msgfail - fi + 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 } for COMPRESSEDINDEXES in 'false' 'true'; do