]>
Commit | Line | Data |
---|---|---|
002b1bc4 DK |
1 | #!/bin/sh |
2 | set -e | |
3 | ||
4 | TESTDIR="$(readlink -f "$(dirname "$0")")" | |
5 | . "$TESTDIR/framework" | |
6 | setupenvironment | |
7 | configarchitecture 'amd64' | |
8 | ||
9 | buildsimplenativepackage 'foo' 'all' '1' 'stable' | |
10 | buildsimplenativepackage 'foo' 'all' '2' 'sid' | |
11 | setupaptarchive --no-update | |
12 | ||
13 | NEWMETHODS="$(readlink -f rootdir)/usr/lib/apt/methods" | |
14 | OLDMETHODS="$(readlink -f rootdir/usr/lib/apt/methods)" | |
15 | rm "$NEWMETHODS" | |
16 | mkdir "$NEWMETHODS" | |
17 | backupIFS="$IFS" | |
18 | IFS="$(printf "\n\b")" | |
19 | for METH in $(find "$OLDMETHODS" ! -type d); do | |
20 | ln -s "$OLDMETHODS/$(basename "$METH")" "$NEWMETHODS" | |
21 | done | |
22 | IFS="$backupIFS" | |
23 | ||
24 | changetohttpswebserver | |
25 | for FILE in rootdir/etc/apt/sources.list.d/*-sid-* ; do | |
26 | sed -i -e 's#https:#http:#' -e "s#:${APTHTTPSPORT}/#:${APTHTTPPORT}/#" "$FILE" | |
27 | done | |
28 | ||
29 | pretest() { | |
30 | rm -rf rootdir/var/lib/apt/lists | |
31 | testsuccessequal 'N: Unable to locate package foo' aptcache policy foo -q=0 | |
32 | } | |
33 | pretest | |
34 | testsuccess aptget update | |
35 | testsuccessequal "foo: | |
36 | Installed: (none) | |
37 | Candidate: 2 | |
38 | Version table: | |
39 | 2 500 | |
40 | 500 http://localhost:${APTHTTPPORT} sid/main amd64 Packages | |
41 | 1 500 | |
42 | 500 https://localhost:${APTHTTPSPORT} stable/main amd64 Packages" aptcache policy foo | |
43 | ||
44 | pretest | |
45 | mv aptarchive/dists/stable aptarchive/dists/stable.good | |
995a4bf6 | 46 | testfailuremsg "E: The repository 'https://localhost:${APTHTTPSPORT} stable Release' does not have a Release file." apt update |
002b1bc4 DK |
47 | testfailureequal "Hit:1 http://localhost:${APTHTTPPORT} sid InRelease |
48 | Ign:2 https://localhost:${APTHTTPSPORT} stable InRelease | |
49 | 404 Not Found | |
50 | Err:3 https://localhost:${APTHTTPSPORT} stable Release | |
51 | 404 Not Found | |
52 | Reading package lists... | |
53 | E: The repository 'https://localhost:${APTHTTPSPORT} stable Release' does not have a Release file. | |
54 | N: Updating such a repository securily is impossible and therefore disabled by default. | |
995a4bf6 | 55 | N: See apt-secure(8) manpage for repository creation and user configuration details." aptget update -q=0 --no-allow-insecure-repositories |
002b1bc4 DK |
56 | mv aptarchive/dists/stable.good aptarchive/dists/stable |
57 | posttest() { | |
58 | testsuccessequal "foo: | |
59 | Installed: (none) | |
60 | Candidate: 2 | |
61 | Version table: | |
62 | 2 500 | |
63 | 500 http://localhost:${APTHTTPPORT} sid/main amd64 Packages" aptcache policy foo | |
64 | } | |
65 | posttest | |
66 | ||
67 | pretest | |
68 | rm "${NEWMETHODS}/https" | |
69 | testfailuremsg "E: The method driver ${TMPWORKINGDIRECTORY}/rootdir/usr/lib/apt/methods/https could not be found. | |
70 | W: Failed to fetch https://localhost:${APTHTTPSPORT}/dists/stable/InRelease | |
71 | E: Some index files failed to download. They have been ignored, or old ones used instead." aptget update | |
72 | posttest | |
73 | ||
74 | ln -s "$OLDMETHODS/https" "$NEWMETHODS" | |
75 | pretest | |
76 | for FILE in rootdir/etc/apt/sources.list.d/*-stable-* ; do | |
77 | # lets see how many testservers run also Doom | |
78 | sed -i -e "s#:${APTHTTPSPORT}/#:666/#" "$FILE" | |
79 | done | |
80 | testwarningmsg "W: Failed to fetch https://localhost:666/dists/stable/InRelease Failed to connect to localhost port 666: Connection refused | |
81 | W: Some index files failed to download. They have been ignored, or old ones used instead." aptget update | |
82 | posttest |