| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #!/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 <evil@example.com>
- 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
- 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 bar
- testfailure aptget install bar -s
- done
|