X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/1816266852b25faec4f2ed1a67171eddb39b2102..d59671c9eef322c10abba22b0257fef37979dfd4:/test/integration/test-bug-602412-dequote-redirect diff --git a/test/integration/test-bug-602412-dequote-redirect b/test/integration/test-bug-602412-dequote-redirect index 4901a32d7..b4da876cb 100755 --- a/test/integration/test-bug-602412-dequote-redirect +++ b/test/integration/test-bug-602412-dequote-redirect @@ -1,14 +1,16 @@ #!/bin/sh set -e -TESTDIR=$(readlink -f $(dirname $0)) -. $TESTDIR/framework +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" setupenvironment configarchitecture 'amd64' buildsimplenativepackage 'unrelated' 'all' '0.5~squeeze1' 'unstable' +buildsimplenativepackage 'unrelated2' 'all' '0.5~squeeze1' 'unstable' +insertinstalledpackage 'unrelated2' 'all' '0.1' -setupaptarchive +setupaptarchive --no-update changetowebserver -o aptwebserver::redirect::replace::/pool/=/newpool/ \ -o aptwebserver::redirect::replace::/dists/=/newdists/ @@ -16,26 +18,44 @@ mv aptarchive/pool aptarchive/newpool mv aptarchive/dists aptarchive/newdists testrun() { + 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 - local LOG='update.log' - # strip away the [ 304 B ] info - aptget update 2>&1 | sed -e 's/\ \[.*//' > $LOG - testequal "Hit $1 unstable InRelease -Hit $1 unstable/main Sources -Hit $1 unstable/main amd64 Packages -Hit $1 unstable/main Translation-en -Reading package lists..." cat $LOG + 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:8080' +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:4433' +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