]> git.saurik.com Git - apt.git/blame - test/integration/test-compressed-indexes
test/integration/test-apt-update-file: improve test
[apt.git] / test / integration / test-compressed-indexes
CommitLineData
f213b6ea
DK
1#!/bin/sh
2set -e
3
9962ae93 4TESTDIR=$(readlink -f $(dirname $0))
f213b6ea
DK
5. $TESTDIR/framework
6
7setupenvironment
36e7727f 8configcompression '.' 'gz' # only gz is supported for this, so ensure it is used
f213b6ea
DK
9configarchitecture "i386"
10
11buildsimplenativepackage "testpkg" "i386" "1.0"
12setupaptarchive
13
718f797c 14GOODSHOW="$(aptcache show testpkg)
f213b6ea 15"
718f797c
DK
16GOODPOLICY="$(aptcache policy testpkg)"
17GOODSHOWSRC="$(aptcache showsrc testpkg)
f213b6ea
DK
18"
19
b761356f 20test $(echo "$GOODSHOW" | grep -e '^Package: testpkg' -e '^Version: 1.0' -e '^Architecture: i386' | wc -l) -eq 3 || msgdie 'show is broken'
f213b6ea 21testequal "$GOODSHOW" aptcache show testpkg
b761356f 22test $(echo "$GOODPOLICY" | grep -e '^testpkg:' -e '^ Candidate:' -e '^ Installed: (none)' -e '500 file:/' | wc -l) -eq 4 || msgdie 'policy is broken'
f213b6ea 23testequal "$GOODPOLICY" aptcache policy testpkg
b761356f 24test $(echo "$GOODSHOWSRC" | grep -e '^Package: testpkg' -e '^Format: 3.0 (native)' -e '^Files:' -e '^Checksums-Sha256:' | wc -l) -eq 4 || msgdie 'showsrc is broken'
f213b6ea
DK
25testequal "$GOODSHOWSRC" aptcache showsrc testpkg
26
27
28testrun() {
29 local F
30 if [ -e rootdir/var/lib/apt/lists/*localhost*Release ]; then
31 msgtest "Check if all index files are" "${1:-uncompressed}"
32 if [ "$1" = "compressed" ]; then
33 ! test -e rootdir/var/lib/apt/lists/*_Packages || F=1
34 ! test -e rootdir/var/lib/apt/lists/*_Sources || F=1
35 test -e rootdir/var/lib/apt/lists/*_Packages.gz || F=1
36 test -e rootdir/var/lib/apt/lists/*_Sources.gz || F=1
37 else
38 test -e rootdir/var/lib/apt/lists/*_Packages || F=1
39 test -e rootdir/var/lib/apt/lists/*_Sources || F=1
40 ! test -e rootdir/var/lib/apt/lists/*_Packages.gz || F=1
41 ! test -e rootdir/var/lib/apt/lists/*_Sources.gz || F=1
42 fi
43 if [ -n "$F" ]; then
44 ls -laR rootdir/var/lib/apt/lists/
45 msgfail
46 else
47 msgpass
48 fi
49 msgtest "Check if package is downloadable"
0440d936
DK
50 testsuccess --nomsg aptget install -d testpkg
51 msgtest "\tdeb file is present"; testsuccess --nomsg test -f rootdir/var/cache/apt/archives/testpkg_1.0_i386.deb
f213b6ea 52 aptget clean
0440d936 53 msgtest "\tdeb file is gone"; testfailure --nomsg test -f rootdir/var/cache/apt/archives/testpkg_1.0_i386.deb
f213b6ea 54 fi
8de79b68 55 rm -f rootdir/var/cache/apt/pkgcache.bin rootdir/var/cache/apt/srcpkgcache.bin
f213b6ea
DK
56 testequal "$GOODSHOW" aptcache show testpkg
57 testequal "$GOODSHOW" aptcache show testpkg
8de79b68 58 rm -f rootdir/var/cache/apt/pkgcache.bin rootdir/var/cache/apt/srcpkgcache.bin
f213b6ea
DK
59 testequal "$GOODPOLICY" aptcache policy testpkg
60 testequal "$GOODPOLICY" aptcache policy testpkg
8de79b68 61 rm -f rootdir/var/cache/apt/pkgcache.bin rootdir/var/cache/apt/srcpkgcache.bin
f213b6ea
DK
62 testequal "$GOODSHOWSRC" aptcache showsrc testpkg
63 testequal "$GOODSHOWSRC" aptcache showsrc testpkg
8de79b68 64 aptget clean
f213b6ea 65 msgtest "Check if the source is aptgetable"
0440d936
DK
66 testsuccess --nomsg aptget source testpkg
67 msgtest "\tdsc file is present"; testsuccess --nomsg test -f testpkg_1.0.dsc
68 msgtest "\tdirectory is present"; testsuccess --nomsg test -d testpkg-1.0
f213b6ea 69 rm -rf testpkg-1.0
4dde2b42
DK
70 testequal "$(aptcache show testpkg -o Acquire::Languages=none)
71" aptcache dumpavail
f213b6ea
DK
72}
73
d88a49c8 74echo 'Acquire::GzipIndexes "false";' > rootdir/etc/apt/apt.conf.d/02compressindex
f213b6ea
DK
75msgmsg "File: Test with uncompressed indexes"
76testrun
77
0440d936 78testsuccess aptget update -o Acquire::Pdiffs=1
f213b6ea
DK
79msgmsg "File: Test with uncompressed indexes (update unchanged with pdiffs)"
80testrun
81
0440d936 82testsuccess aptget update -o Acquire::Pdiffs=0
f213b6ea
DK
83msgmsg "File: Test with uncompressed indexes (update unchanged without pdiffs)"
84testrun
85
86rm -rf rootdir/var/lib/apt/lists
87echo 'Acquire::CompressionTypes::Order:: "gz";
88Acquire::GzipIndexes "true";' > rootdir/etc/apt/apt.conf.d/02compressindex
89
0440d936 90testsuccess aptget update
f213b6ea
DK
91msgmsg "File: Test with compressed indexes"
92testrun "compressed"
93
0440d936 94testsuccess aptget update -o Acquire::Pdiffs=1
f213b6ea
DK
95msgmsg "File: Test with compressed indexes (update unchanged with pdiffs)"
96testrun "compressed"
97
0440d936 98testsuccess aptget update -o Acquire::Pdiffs=0
f213b6ea
DK
99msgmsg "File: Test with compressed indexes (update unchanged without pdiffs)"
100testrun "compressed"
101
102rm rootdir/etc/apt/apt.conf.d/02compressindex
103changetowebserver
0440d936 104testsuccess aptget update
718f797c 105GOODPOLICY="$(aptcache policy testpkg)"
f213b6ea
DK
106test $(echo "$GOODPOLICY" | grep -e '^testpkg:' -e '^ Candidate:' -e '^ Installed: (none)' -e '500 http://' | wc -l) -eq 4
107testequal "$GOODPOLICY" aptcache policy testpkg
108
109msgmsg "HTTP: Test with uncompressed indexes"
110testrun
111
0440d936 112testsuccess aptget update -o Acquire::Pdiffs=1
f213b6ea
DK
113msgmsg "HTTP: Test with uncompressed indexes (update unchanged with pdiffs)"
114testrun
115
0440d936 116testsuccess aptget update -o Acquire::Pdiffs=0
f213b6ea
DK
117msgmsg "HTTP: Test with uncompressed indexes (update unchanged without pdiffs)"
118testrun
119
120rm -rf rootdir/var/lib/apt/lists
121echo 'Acquire::CompressionTypes::Order:: "gz";
122Acquire::GzipIndexes "true";' > rootdir/etc/apt/apt.conf.d/02compressindex
123
0440d936 124testsuccess aptget update
f213b6ea
DK
125msgmsg "HTTP: Test with compressed indexes"
126testrun "compressed"
127
0440d936 128testsuccess aptget update -o Acquire::Pdiffs=1
f213b6ea
DK
129msgmsg "HTTP: Test with compressed indexes (update unchanged with pdiffs)"
130testrun "compressed"
131
0440d936 132testsuccess aptget update -o Acquire::Pdiffs=0
f213b6ea
DK
133msgmsg "HTTP: Test with compressed indexes (update unchanged without pdiffs)"
134testrun "compressed"