]> git.saurik.com Git - apt.git/blobdiff - test/integration/test-bug-602412-dequote-redirect
eipp: add Allow-Temporary-Remove-of-Essentials
[apt.git] / test / integration / test-bug-602412-dequote-redirect
index c5f0e1e64e3c81ef8a068fad42f9acc091ca8524..b4da876cb87bda31ba962542e0d51db82f256bd3 100755 (executable)
@@ -7,6 +7,8 @@ setupenvironment
 configarchitecture 'amd64'
 
 buildsimplenativepackage 'unrelated' 'all' '0.5~squeeze1' 'unstable'
+buildsimplenativepackage 'unrelated2' 'all' '0.5~squeeze1' 'unstable'
+insertinstalledpackage 'unrelated2' 'all' '0.1'
 
 setupaptarchive --no-update
 changetowebserver -o aptwebserver::redirect::replace::/pool/=/newpool/ \
@@ -16,21 +18,44 @@ mv aptarchive/pool aptarchive/newpool
 mv aptarchive/dists aptarchive/newdists
 
 testrun() {
-       msgmsg 'Test redirection works in method boundaries' "$1"
+       msgmsg "Test $1 redirection works in method boundaries" "$2"
        msgtest 'Test redirection works in' 'apt-get update'
        testsuccess --nomsg aptget update
 
        # check that I-M-S header is kept in redirections
-       testsuccessequal "Hit:1 $1 unstable InRelease
+       testsuccessequal "Hit:1 $2 unstable InRelease
 Reading package lists..." aptget update
 
        msgtest 'Test redirection works in' 'package download'
        testsuccess --nomsg aptget install unrelated --download-only -y
 }
 
-testrun "http://localhost:${APTHTTPPORT}"
+for CODE in 301 302 307; do
+       webserverconfig 'aptwebserver::redirect::httpcode' "$CODE"
+       testrun "$CODE" "http://localhost:${APTHTTPPORT}"
+       testsuccess grep "^HTTP/1.1 $CODE " aptarchive/webserver.log
+       rm -rf rootdir/var/lib/apt/lists rootdir/var/cache/apt/archives
+done
 
-rm -rf rootdir/var/lib/apt/lists rootdir/var/cache/apt/archives
 changetohttpswebserver
 
-testrun "https://localhost:${APTHTTPSPORT}"
+for CODE in 301 302 307; do
+       webserverconfig 'aptwebserver::redirect::httpcode' "$CODE"
+       testrun "$CODE" "https://localhost:${APTHTTPSPORT}"
+       rm -rf rootdir/var/lib/apt/lists rootdir/var/cache/apt/archives
+done
+
+testsuccess apt update
+testsuccess aptget install unrelated --download-only
+testsuccessequal 'Reading package lists...
+Building dependency tree...
+Calculating upgrade...
+The following NEW packages will be installed:
+  unrelated
+The following packages have been kept back:
+  unrelated2
+0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
+Inst unrelated (0.5~squeeze1 unstable [all])
+Conf unrelated (0.5~squeeze1 unstable [all])' aptget dist-upgrade unrelated --no-download --fix-missing -s
+testsuccess aptget dist-upgrade unrelated --no-download --fix-missing -y
+testdpkginstalled unrelated