diff options
Diffstat (limited to 'test/integration/test-apt-update-hashsum-mismatch')
-rwxr-xr-x | test/integration/test-apt-update-hashsum-mismatch | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/integration/test-apt-update-hashsum-mismatch b/test/integration/test-apt-update-hashsum-mismatch new file mode 100755 index 0000000..48d041a --- /dev/null +++ b/test/integration/test-apt-update-hashsum-mismatch @@ -0,0 +1,39 @@ +#!/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 + +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.client*.log); do + msgmsg 'Test hashsum mismatch with file' "$get" + breakfiles "aptarchive/${get}" + rm -rf rootdir/var/lib/apt/lists + + testfailure aptget update + cp rootdir/tmp/testfailure.output rootdir/tmp/update.output + testsuccess grep -E "$(basename "$get" '.gz').*Hash Sum mismatch" rootdir/tmp/update.output + testfailure aptcache show foo + testfailure aptget install foo -s + + testfailure aptcache show bar + testfailure aptget install bar -s + + unbreakfiles "aptarchive/${get}" +done |