blob: 747418c53872d7ea3b00071f9997646f3fc74833 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
#!/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
|