blob: f144e9968a06c7ddeec74e0aa5a379319dfc087d (
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
#!/bin/sh
set -e
TESTDIR="$(readlink -f "$(dirname "$0")")"
. "$TESTDIR/framework"
setupenvironment
configarchitecture 'amd64'
buildsimplenativepackage 'foo' 'all' '1' 'stable'
buildsimplenativepackage 'foo' 'all' '2' 'sid'
setupaptarchive --no-update
NEWMETHODS="$(readlink -f rootdir)/usr/lib/apt/methods"
OLDMETHODS="$(readlink -f rootdir/usr/lib/apt/methods)"
rm "$NEWMETHODS"
mkdir "$NEWMETHODS"
backupIFS="$IFS"
IFS="$(printf "\n\b")"
for METH in $(find "$OLDMETHODS" ! -type d); do
ln -s "$OLDMETHODS/$(basename "$METH")" "$NEWMETHODS"
done
IFS="$backupIFS"
changetohttpswebserver
for FILE in rootdir/etc/apt/sources.list.d/*-sid-* ; do
sed -i -e 's#https:#http:#' -e "s#:${APTHTTPSPORT}/#:${APTHTTPPORT}/#" "$FILE"
done
pretest() {
rm -rf rootdir/var/lib/apt/lists
testsuccessequal 'N: Unable to locate package foo' aptcache policy foo -q=0
}
pretest
testsuccess aptget update
testsuccessequal "foo:
Installed: (none)
Candidate: 2
Version table:
2 500
500 http://localhost:${APTHTTPPORT} sid/main all Packages
1 500
500 https://localhost:${APTHTTPSPORT} stable/main all Packages" aptcache policy foo
pretest
mv aptarchive/dists/stable aptarchive/dists/stable.good
testfailuremsg "E: The repository 'https://localhost:${APTHTTPSPORT} stable Release' does not have a Release file." apt update
testfailure aptget update -q=0 --no-allow-insecure-repositories
testequalor2 "Hit:1 http://localhost:${APTHTTPPORT} sid InRelease
Ign:2 https://localhost:${APTHTTPSPORT} stable InRelease
404 Not Found
Err:3 https://localhost:${APTHTTPSPORT} stable Release
404 Not Found
Reading package lists...
E: The repository 'https://localhost:${APTHTTPSPORT} stable Release' does not have a Release file.
N: Updating such a repository securily is impossible and therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details." "Ign:1 https://localhost:${APTHTTPSPORT} stable InRelease
404 Not Found
Err:2 https://localhost:${APTHTTPSPORT} stable Release
404 Not Found
Hit:3 http://localhost:${APTHTTPPORT} sid InRelease
Reading package lists...
E: The repository 'https://localhost:${APTHTTPSPORT} stable Release' does not have a Release file.
N: Updating such a repository securily is impossible and therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details." cat rootdir/tmp/testfailure.output
mv aptarchive/dists/stable.good aptarchive/dists/stable
posttest() {
testsuccessequal "foo:
Installed: (none)
Candidate: 2
Version table:
2 500
500 http://localhost:${APTHTTPPORT} sid/main all Packages" aptcache policy foo
}
posttest
pretest
rm "${NEWMETHODS}/https"
testfailuremsg "E: The method driver ${TMPWORKINGDIRECTORY}/rootdir/usr/lib/apt/methods/https could not be found.
W: Failed to fetch https://localhost:${APTHTTPSPORT}/dists/stable/InRelease
E: Some index files failed to download. They have been ignored, or old ones used instead." aptget update
posttest
ln -s "$OLDMETHODS/https" "$NEWMETHODS"
pretest
for FILE in rootdir/etc/apt/sources.list.d/*-stable-* ; do
# lets see how many testservers run also Doom
sed -i -e "s#:${APTHTTPSPORT}/#:666/#" "$FILE"
done
testwarning aptget update
testequalor2 "W: Failed to fetch https://localhost:666/dists/stable/InRelease Failed to connect to localhost port 666: Connection refused
W: Some index files failed to download. They have been ignored, or old ones used instead." "W: Failed to fetch https://localhost:666/dists/stable/InRelease couldn't connect to host
W: Some index files failed to download. They have been ignored, or old ones used instead." tail -n 2 rootdir/tmp/testwarning.output
posttest
|