]> git.saurik.com Git - apt.git/blob - test/integration/test-apt-update-ims
check for failure message in testsuccess/failure
[apt.git] / test / integration / test-apt-update-ims
1 #!/bin/sh
2 set -e
3
4 TESTDIR=$(readlink -f $(dirname $0))
5 . $TESTDIR/framework
6 setupenvironment
7 configarchitecture 'amd64'
8
9 buildsimplenativepackage 'unrelated' 'all' '0.5~squeeze1' 'unstable'
10
11 setupaptarchive --no-update
12 changetowebserver
13
14 runtest() {
15 rm -f rootdir/var/lib/apt/lists/localhost*
16
17 testsuccess aptget update
18
19 # ensure no leftovers in partial
20 testfailure ls "rootdir/var/lib/apt/lists/partial/*"
21
22 # check that I-M-S header is kept in redirections
23 testequal "$EXPECT" aptget update -o Debug::pkgAcquire::Worker=0 -o Debug::Acquire::http=0
24
25 # ensure that we still do a hash check on ims hit
26 msgtest 'Test I-M-S' 'reverify'
27 aptget update -o Debug::pkgAcquire::Auth=1 2>&1 | grep -A1 'RecivedHash:' | grep -q -- '- SHA' && msgpass || msgfail
28
29 # ensure no leftovers in partial
30 testfailure ls "rootdir/var/lib/apt/lists/partial/*"
31 }
32
33 msgmsg "InRelease"
34 EXPECT="Hit http://localhost:8080 unstable InRelease
35 Hit http://localhost:8080 unstable/main Sources
36 Hit http://localhost:8080 unstable/main amd64 Packages
37 Hit http://localhost:8080 unstable/main Translation-en
38 Reading package lists..."
39 # with InRelease
40 runtest
41
42 # with gzip
43 echo "Acquire::GzipIndexes "1";" > rootdir/etc/apt/apt.conf.d/02compressindex
44 runtest
45
46 msgmsg "Release/Release.gpg"
47 # with Release/Release.gpg
48 EXPECT="Ign http://localhost:8080 unstable InRelease
49 404 Not Found
50 Hit http://localhost:8080 unstable Release
51 Hit http://localhost:8080 unstable Release.gpg
52 Hit http://localhost:8080 unstable/main Sources
53 Hit http://localhost:8080 unstable/main amd64 Packages
54 Hit http://localhost:8080 unstable/main Translation-en
55 Reading package lists..."
56
57 find aptarchive -name 'InRelease' -delete
58
59 echo "Acquire::GzipIndexes "0";" > rootdir/etc/apt/apt.conf.d/02compressindex
60 runtest
61
62 echo "Acquire::GzipIndexes "1";" > rootdir/etc/apt/apt.conf.d/02compressindex
63 runtest
64
65
66 # no Release.gpg or InRelease
67 configallowinsecurerepositories "true"
68
69 msgmsg "Release only"
70 EXPECT="Ign http://localhost:8080 unstable InRelease
71 404 Not Found
72 Hit http://localhost:8080 unstable Release
73 Ign http://localhost:8080 unstable Release.gpg
74 404 Not Found
75 Hit http://localhost:8080 unstable/main Sources
76 Hit http://localhost:8080 unstable/main amd64 Packages
77 Hit http://localhost:8080 unstable/main Translation-en
78 Reading package lists...
79 W: The data from 'http://localhost:8080 unstable Release.gpg' is not signed. Packages from that repository can not be authenticated."
80
81 find aptarchive -name 'Release.gpg' -delete
82
83 echo "Acquire::GzipIndexes "0";" > rootdir/etc/apt/apt.conf.d/02compressindex
84 runtest
85
86 echo "Acquire::GzipIndexes "1";" > rootdir/etc/apt/apt.conf.d/02compressindex
87 runtest