diff options
Diffstat (limited to 'test')
-rwxr-xr-x | test/integration/test-bug-602412-dequote-redirect | 18 | ||||
-rw-r--r-- | test/interactive-helper/aptwebserver.cc | 2 |
2 files changed, 14 insertions, 6 deletions
diff --git a/test/integration/test-bug-602412-dequote-redirect b/test/integration/test-bug-602412-dequote-redirect index c5f0e1e64..3d88baaef 100755 --- a/test/integration/test-bug-602412-dequote-redirect +++ b/test/integration/test-bug-602412-dequote-redirect @@ -16,21 +16,29 @@ 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 diff --git a/test/interactive-helper/aptwebserver.cc b/test/interactive-helper/aptwebserver.cc index 849323cc0..0398a4599 100644 --- a/test/interactive-helper/aptwebserver.cc +++ b/test/interactive-helper/aptwebserver.cc @@ -652,7 +652,7 @@ static void * handleClient(void * voidclient) /*{{{*/ redirect.erase(0,1); if (redirect != filename) { - sendRedirect(client, 301, redirect, *m, sendContent); + sendRedirect(client, _config->FindI("aptwebserver::redirect::httpcode", 301), redirect, *m, sendContent); continue; } } |