]>
Commit | Line | Data |
---|---|---|
7ea27d2a DK |
1 | #!/bin/sh |
2 | set -e | |
3 | ||
3abb6a6a DK |
4 | TESTDIR="$(readlink -f "$(dirname "$0")")" |
5 | . "$TESTDIR/framework" | |
7ea27d2a DK |
6 | setupenvironment |
7 | configarchitecture 'amd64' | |
8 | ||
9 | buildsimplenativepackage 'unrelated' 'all' '0.5~squeeze1' 'unstable' | |
eb1f04dd DK |
10 | buildsimplenativepackage 'unrelated2' 'all' '0.5~squeeze1' 'unstable' |
11 | insertinstalledpackage 'unrelated2' 'all' '0.1' | |
7ea27d2a | 12 | |
27925d82 | 13 | setupaptarchive --no-update |
7ea27d2a DK |
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 | ||
f9b4f12d | 20 | testrun() { |
aa3e7b32 | 21 | msgmsg "Test $1 redirection works in method boundaries" "$2" |
f9b4f12d DK |
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 | |
aa3e7b32 | 26 | testsuccessequal "Hit:1 $2 unstable InRelease |
4bcb5f4b | 27 | Reading package lists..." aptget update |
f9b4f12d DK |
28 | |
29 | msgtest 'Test redirection works in' 'package download' | |
30 | testsuccess --nomsg aptget install unrelated --download-only -y | |
31 | } | |
32 | ||
aa3e7b32 DK |
33 | for CODE in 301 302 307; do |
34 | webserverconfig 'aptwebserver::redirect::httpcode' "$CODE" | |
e1ae0531 | 35 | rm -f aptarchive/webserver.log.client*.log |
aa3e7b32 | 36 | testrun "$CODE" "http://localhost:${APTHTTPPORT}" |
e1ae0531 | 37 | testsuccess grep "^HTTP/1.1 $CODE " aptarchive/webserver.log.client*.log |
aa3e7b32 DK |
38 | rm -rf rootdir/var/lib/apt/lists rootdir/var/cache/apt/archives |
39 | done | |
f9b4f12d | 40 | |
f9b4f12d DK |
41 | changetohttpswebserver |
42 | ||
aa3e7b32 DK |
43 | for CODE in 301 302 307; do |
44 | webserverconfig 'aptwebserver::redirect::httpcode' "$CODE" | |
e1ae0531 | 45 | rm -f aptarchive/webserver.log.client*.log |
aa3e7b32 | 46 | testrun "$CODE" "https://localhost:${APTHTTPSPORT}" |
e1ae0531 | 47 | testsuccess grep "^HTTP/1.1 $CODE " aptarchive/webserver.log.client*.log |
aa3e7b32 DK |
48 | rm -rf rootdir/var/lib/apt/lists rootdir/var/cache/apt/archives |
49 | done | |
eb1f04dd DK |
50 | |
51 | testsuccess apt update | |
52 | testsuccess aptget install unrelated --download-only | |
53 | testsuccessequal 'Reading package lists... | |
54 | Building dependency tree... | |
55 | Calculating upgrade... | |
56 | The following NEW packages will be installed: | |
57 | unrelated | |
58 | The following packages have been kept back: | |
59 | unrelated2 | |
60 | 0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. | |
61 | Inst unrelated (0.5~squeeze1 unstable [all]) | |
62 | Conf unrelated (0.5~squeeze1 unstable [all])' aptget dist-upgrade unrelated --no-download --fix-missing -s | |
63 | testsuccess aptget dist-upgrade unrelated --no-download --fix-missing -y | |
64 | testdpkginstalled unrelated |