]>
Commit | Line | Data |
---|---|---|
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 | buildsimplenativepackage 'unrelated2' 'all' '0.5~squeeze1' 'unstable' | |
11 | insertinstalledpackage 'unrelated2' 'all' '0.1' | |
12 | ||
13 | setupaptarchive --no-update | |
14 | changetowebserver -o aptwebserver::redirect::replace::/pool/=/newpool/ \ | |
15 | -o aptwebserver::redirect::replace::/dists/=/newdists/ | |
16 | ||
17 | mv aptarchive/pool aptarchive/newpool | |
18 | mv aptarchive/dists aptarchive/newdists | |
19 | ||
20 | testrun() { | |
21 | msgmsg "Test $1 redirection works in method boundaries" "$2" | |
22 | msgtest 'Test redirection works in' 'apt-get update' | |
23 | testsuccess --nomsg aptget update | |
24 | ||
25 | # check that I-M-S header is kept in redirections | |
26 | testsuccessequal "Hit:1 $2 unstable InRelease | |
27 | Reading package lists..." aptget update | |
28 | ||
29 | msgtest 'Test redirection works in' 'package download' | |
30 | testsuccess --nomsg aptget install unrelated --download-only -y | |
31 | } | |
32 | ||
33 | for CODE in 301 302 307; do | |
34 | webserverconfig 'aptwebserver::redirect::httpcode' "$CODE" | |
35 | testrun "$CODE" "http://localhost:${APTHTTPPORT}" | |
36 | testsuccess grep "^HTTP/1.1 $CODE " aptarchive/webserver.log | |
37 | rm -rf rootdir/var/lib/apt/lists rootdir/var/cache/apt/archives | |
38 | done | |
39 | ||
40 | changetohttpswebserver | |
41 | ||
42 | for CODE in 301 302 307; do | |
43 | webserverconfig 'aptwebserver::redirect::httpcode' "$CODE" | |
44 | testrun "$CODE" "https://localhost:${APTHTTPSPORT}" | |
45 | rm -rf rootdir/var/lib/apt/lists rootdir/var/cache/apt/archives | |
46 | done | |
47 | ||
48 | testsuccess apt update | |
49 | testsuccess aptget install unrelated --download-only | |
50 | testsuccessequal 'Reading package lists... | |
51 | Building dependency tree... | |
52 | Calculating upgrade... | |
53 | The following NEW packages will be installed: | |
54 | unrelated | |
55 | The following packages have been kept back: | |
56 | unrelated2 | |
57 | 0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. | |
58 | Inst unrelated (0.5~squeeze1 unstable [all]) | |
59 | Conf unrelated (0.5~squeeze1 unstable [all])' aptget dist-upgrade unrelated --no-download --fix-missing -s | |
60 | testsuccess aptget dist-upgrade unrelated --no-download --fix-missing -y | |
61 | testdpkginstalled unrelated |