4 TESTDIR
="$(readlink -f "$(dirname "$0")")"
8 configarchitecture 'amd64' 'i386'
10 insertpackage 'unstable' 'apt' 'amd64,i386' '1.0'
12 setupaptarchive --no-update
15 msgmsg 'Test InRelease with' "$1"
16 rm -rf rootdir/var/lib/apt/lists
17 cp -a aptarchive/dists aptarchive/dists.good
18 # get our cache populated
19 testsuccess aptget update
20 listcurrentlistsdirectory > listsdir.lst
22 # hit again with a good cache
23 testsuccessequal "Hit
:1 $1 unstable InRelease
24 Reading package lists...
" aptget update
25 testfileequal 'listsdir.lst' "$(listcurrentlistsdirectory)"
27 # drop an architecture, which means the file should be gone now
28 configarchitecture 'i386'
29 sed '/_binary-amd64_Packages/ d' listsdir.lst > listsdir-without-amd64.lst
30 testsuccessequal "Hit
:1 $1 unstable InRelease
31 Reading package lists...
" aptget update
32 testfileequal 'listsdir-without-amd64.lst' "$(listcurrentlistsdirectory)"
34 # readd arch so its downloaded again…
35 configarchitecture 'amd64' 'i386'
36 # … but oh noes, hashsum mismatch!
37 find aptarchive/dists/unstable/main/binary-amd64/ -type f -delete
38 cat >> aptarchive/dists/unstable/main/binary-amd64/Packages <<EOF
44 compressfile aptarchive/dists/unstable/main/binary-amd64/Packages
45 testfailureequal "Hit
:1 $1 unstable InRelease
46 Get
:2 $1 unstable
/main amd64 Packages
[$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') B
]
47 Err
:2 $1 unstable
/main amd64 Packages
49 Reading package lists...
50 W
: Failed to fetch
$1/dists
/unstable
/main
/binary
-amd64/Packages.gz Hash Sum mismatch
51 E
: Some index files failed to download. They have been ignored
, or old ones used instead.
" aptget update
52 testfileequal 'listsdir-without-amd64.lst' "$(listcurrentlistsdirectory)"
53 rm -rf aptarchive/dists
54 cp -a aptarchive/dists.good aptarchive/dists
56 # … now everything is fine again
57 testsuccessequal "Hit
:1 $1 unstable InRelease
58 Get
:2 $1 unstable
/main amd64 Packages
[$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') B
]
59 Reading package lists...
" aptget update
60 testfileequal 'listsdir.lst' "$(listcurrentlistsdirectory)"
62 webserverconfig 'aptwebserver::support::modified-since' 'false'
63 webserverconfig 'aptwebserver::support::last-modified' 'false'
64 testsuccessequal "Get
:1 $1 unstable InRelease
[$(stat -c '%s' 'aptarchive/dists/unstable/InRelease') B
]
65 Reading package lists...
" aptget update
66 webserverconfig 'aptwebserver::support::modified-since' 'true'
67 webserverconfig 'aptwebserver::support::last-modified' 'true'
69 msgmsg 'Test Release.gpg with' "$1"
70 rm -rf rootdir/var/lib/apt/lists
71 find aptarchive/dists -name 'InRelease' -delete
72 # get our cache populated
73 testsuccess aptget update
74 listcurrentlistsdirectory > listsdir.lst
76 # hit again with a good cache
77 testsuccessequal "Ign
:1 $1 unstable InRelease
79 Hit
:2 $1 unstable Release
80 Reading package lists...
" aptget update
81 testfileequal 'listsdir.lst' "$(listcurrentlistsdirectory)"
83 # drop an architecture, which means the file should be gone now
84 configarchitecture 'i386'
85 sed '/_binary-amd64_Packages/ d' listsdir.lst > listsdir-without-amd64.lst
86 testsuccessequal "Ign
:1 $1 unstable InRelease
88 Hit
:2 $1 unstable Release
89 Reading package lists...
" aptget update
90 testfileequal 'listsdir-without-amd64.lst' "$(listcurrentlistsdirectory)"
92 # readd arch so its downloaded again…
93 configarchitecture 'amd64' 'i386'
94 # … but oh noes, hashsum mismatch!
95 find aptarchive/dists/unstable/main/binary-amd64/ -type f -delete
96 cat >> aptarchive/dists/unstable/main/binary-amd64/Packages <<EOF
102 compressfile aptarchive/dists/unstable/main/binary-amd64/Packages
103 testfailureequal "Ign
:1 $1 unstable InRelease
105 Hit
:2 $1 unstable Release
106 Get
:4 $1 unstable
/main amd64 Packages
[$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') B
]
107 Err
:4 $1 unstable
/main amd64 Packages
109 Reading package lists...
110 W
: Failed to fetch
$1/dists
/unstable
/main
/binary
-amd64/Packages.gz Hash Sum mismatch
111 E
: Some index files failed to download. They have been ignored
, or old ones used instead.
" aptget update
112 testfileequal 'listsdir-without-amd64.lst' "$(listcurrentlistsdirectory)"
113 rm -rf aptarchive/dists
114 cp -a aptarchive/dists.good aptarchive/dists
115 find aptarchive/dists -name 'InRelease' -delete
117 # … now everything is fine again
118 testsuccessequal "Ign
:1 $1 unstable InRelease
120 Hit
:2 $1 unstable Release
121 Get
:4 $1 unstable
/main amd64 Packages
[$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') B
]
122 Reading package lists...
" aptget update
123 testfileequal 'listsdir.lst' "$(listcurrentlistsdirectory)"
125 webserverconfig 'aptwebserver::support::modified-since' 'false'
126 webserverconfig 'aptwebserver::support::last-modified' 'false'
127 testsuccessequal "Ign
:1 $1 unstable InRelease
129 Get
:2 $1 unstable Release
[$(stat -c '%s' 'aptarchive/dists/unstable/Release') B
]
130 Reading package lists...
" aptget update
131 webserverconfig 'aptwebserver::support::modified-since' 'true'
132 webserverconfig 'aptwebserver::support::last-modified' 'true'
134 rm -rf aptarchive/dists
135 cp -a aptarchive/dists.good aptarchive/dists
137 # new release file, but the indexes are the same
138 redatereleasefiles '+2 hours'
140 rm -rf rootdir/var/lib/apt/lists.good
141 cp -a rootdir/var/lib/apt/lists rootdir/var/lib/apt/lists.good
142 testsuccessequal "Get
:1 $1 unstable InRelease
[$(stat -c '%s' 'aptarchive/dists/unstable/InRelease') B
]
143 Reading package lists...
" aptget update
145 rm -rf rootdir/var/lib/apt/lists
146 cp -a rootdir/var/lib/apt/lists.good rootdir/var/lib/apt/lists
147 find rootdir/var/lib/apt/lists -name '*_Packages*' -delete
148 testsuccessequal "Get
:1 $1 unstable InRelease
[$(stat -c '%s' 'aptarchive/dists/unstable/InRelease') B
]
149 Get
:2 $1 unstable
/main amd64 Packages
[$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') B
]
150 Get
:3 $1 unstable
/main i386 Packages
[$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-i386/Packages.gz') B
]
151 Reading package lists...
" aptget update
153 rm -rf aptarchive/dists
154 cp -a aptarchive/dists.good aptarchive/dists
158 methodtest "http
://localhost
:${APTHTTPPORT}"
160 changetohttpswebserver
161 methodtest "https
://localhost
:${APTHTTPSPORT}"