X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/db1d1c32149177c0b6ca49e5107ab1f5fd364660..8d1cb6da6e21302c654da3f09de3975af7e4a11f:/test/integration/test-apt-update-stale diff --git a/test/integration/test-apt-update-stale b/test/integration/test-apt-update-stale index 780ff79af..72b05a966 100755 --- a/test/integration/test-apt-update-stale +++ b/test/integration/test-apt-update-stale @@ -6,41 +6,39 @@ # set -e -TESTDIR=$(readlink -f $(dirname $0)) -. $TESTDIR/framework +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" setupenvironment configarchitecture "i386" -insertpackage 'unstable' 'foo' 'all' '1.0' +insertpackage 'unstable' 'foo' 'i386' '1.0' -setupaptarchive +setupaptarchive --no-update changetowebserver -aptget update -qq + +echo "Acquire::Languages \"none\";" > rootdir/etc/apt/apt.conf.d/00nolanguages +testsuccess aptget update -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::http=1 +listcurrentlistsdirectory > lists.before # insert new version mkdir aptarchive/dists/unstable/main/binary-i386/saved cp -p aptarchive/dists/unstable/main/binary-i386/Packages* \ aptarchive/dists/unstable/main/binary-i386/saved -insertpackage 'unstable' 'foo' 'all' '2.0' +insertpackage 'unstable' 'foo' 'i386' '2.0' +touch -d '+1 hour' aptarchive/dists/unstable/main/binary-i386/Packages +compressfile aptarchive/dists/unstable/main/binary-i386/Packages +# ensure that we do not get a I-M-S hit for the Release file -# not using compressfile for compat with older apt releases -gzip -c aptarchive/dists/unstable/main/binary-i386/Packages > \ - aptarchive/dists/unstable/main/binary-i386/Packages.gz -generatereleasefiles +generatereleasefiles '+1hour' signreleasefiles -# ensure that we do not get a I-M-S hit for the Release file -touch -d "+1hour" aptarchive/dists/unstable/*Release* - # but now only deliver the previous Packages file instead of the new one # (simulating a stale attack) cp -p aptarchive/dists/unstable/main/binary-i386/saved/Packages* \ aptarchive/dists/unstable/main/binary-i386/ -# ensure this raises a error -testequal "W: Failed to fetch http://localhost:8080/dists/unstable/main/binary-i386/Packages Hash Sum mismatch - -E: Some index files failed to download. They have been ignored, or old ones used instead." aptget update -qq - - +# ensure this raises an error +testfailuremsg "E: Failed to fetch http://localhost:${APTHTTPPORT}/dists/unstable/main/binary-i386/Packages.gz Hash Sum mismatch +E: Some index files failed to download. They have been ignored, or old ones used instead." aptget update -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::http=1 +testfileequal lists.before "$(listcurrentlistsdirectory)"