From: Michael Vogt Date: Thu, 6 Nov 2014 07:55:06 +0000 (+0100) Subject: Merge remote-tracking branch 'upstream/debian/experimental' into feature/no-more... X-Git-Tag: 1.1.exp8~3^2 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/9397ea947c23c0957a683152360909810340abce?ds=inline;hp=--cc Merge remote-tracking branch 'upstream/debian/experimental' into feature/no-more-acquire-guessing Conflicts: apt-pkg/acquire-item.cc --- 9397ea947c23c0957a683152360909810340abce diff --cc test/integration/test-apt-update-filesize-mismatch index 000000000,b484c5161..f78b83b5f mode 000000,100755..100755 --- a/test/integration/test-apt-update-filesize-mismatch +++ b/test/integration/test-apt-update-filesize-mismatch @@@ -1,0 -1,55 +1,50 @@@ + #!/bin/sh + set -e + + TESTDIR=$(readlink -f $(dirname $0)) + . $TESTDIR/framework + setupenvironment + configarchitecture 'i386' + configcompression 'gz' + + insertpackage 'testing' 'foo' 'all' '1' + insertpackage 'testing' 'foo2' 'all' '1' + insertsource 'testing' 'foo' 'all' '1' + insertsource 'testing' 'foo2' 'all' '1' + + setupaptarchive --no-update + changetowebserver + + find aptarchive \( -name 'Packages' -o -name 'Sources' -o -name 'Translation-en' \) -delete + for release in $(find aptarchive -name 'Release'); do + cp "$release" "${release}.backup" + done + + testsuccess aptget update + testsuccess aptcache show foo + testsuccess aptget install foo -s + + for get in $(sed -n 's#^GET /\([^ ]\+\.gz\) HTTP.\+$#\1#p' aptarchive/webserver.log); do + for ext in '' '.gz'; do + COMPRESSFILE="$get" + get="${get}${ext}" + FILE="$(basename "$get" '.gz')" + msgmsg 'Test filesize mismatch with file' "$FILE" + rm -rf rootdir/var/lib/apt/lists + + for release in $(find aptarchive -name 'Release'); do + SIZE="$(awk "/$FILE\$/ { print \$2; exit }" "${release}.backup")" + sed "s# $SIZE # $(($SIZE + 111)) #" "${release}.backup" > "$release" + done + signreleasefiles + - TEST='testfailure' - if expr match "$COMPRESSFILE" '^.*Translation-.*$' >/dev/null; then - TEST='testsuccess' - unset COMPRESSFILE - fi - $TEST aptget update -o Debug::pkgAcquire::Worker=1 - cp rootdir/tmp/${TEST}.output rootdir/tmp/update.output ++ testfailure aptget update -o Debug::pkgAcquire::Worker=1 ++ cp rootdir/tmp/testfailure.output rootdir/tmp/update.output + testsuccess grep -E "$(basename -s '.gz' "$COMPRESSFILE").*Hash Sum mismatch" rootdir/tmp/update.output - $TEST aptcache show foo - $TEST aptget install foo -s ++ testfailure aptcache show foo ++ testfailure aptget install foo -s + + testfailure aptcache show bar + testfailure aptget install bar -s + done + done diff --cc test/integration/test-apt-update-hashsum-mismatch index 000000000,747418c53..c2c5b3887 mode 000000,100755..100755 --- a/test/integration/test-apt-update-hashsum-mismatch +++ b/test/integration/test-apt-update-hashsum-mismatch @@@ -1,0 -1,49 +1,44 @@@ + #!/bin/sh + set -e + + TESTDIR=$(readlink -f $(dirname $0)) + . $TESTDIR/framework + setupenvironment + configarchitecture 'i386' + configcompression 'gz' + + insertpackage 'testing' 'foo' 'all' '1' + insertpackage 'testing' 'foo2' 'all' '1' + insertsource 'testing' 'foo' 'all' '1' + insertsource 'testing' 'foo2' 'all' '1' + + setupaptarchive --no-update + changetowebserver + + echo 'Package: bar + Maintainer: Doctor Evil + Description: come to the dark side + ' > aptarchive/DoctorEvil + compressfile aptarchive/DoctorEvil + + find aptarchive \( -name 'Packages' -o -name 'Sources' -o -name 'Translation-en' \) -delete + + testsuccess aptget update + testsuccess aptcache show foo + testsuccess aptget install foo -s + + for get in $(sed -n 's#^GET /\([^ ]\+\.gz\) HTTP.\+$#\1#p' aptarchive/webserver.log); do + msgmsg 'Test hashsum mismatch with file' "$get" + rm -rf rootdir/var/lib/apt/lists + webserverconfig 'aptwebserver::overwrite' '' + webserverconfig "aptwebserver::overwrite::$(printf '%s' "${get}" | sed 's#/#%2F#g' )::filename" '%2FDoctorEvil.gz' + - TEST='testfailure' - if expr match "$get" '^.*Translation-.*$' >/dev/null; then - TEST='testsuccess' - unset get - fi - $TEST aptget update - cp rootdir/tmp/${TEST}.output rootdir/tmp/update.output ++ testfailure aptget update ++ cp rootdir/tmp/testfailure.output rootdir/tmp/update.output + testsuccess grep -E "$(basename -s '.gz' "$get").*Hash Sum mismatch" rootdir/tmp/update.output - $TEST aptcache show foo - $TEST aptget install foo -s ++ testfailure aptcache show foo ++ testfailure aptget install foo -s + + testfailure aptcache show bar + testfailure aptget install bar -s + done