]> git.saurik.com Git - apt.git/blobdiff - test/integration/test-bug-602412-dequote-redirect
ensure outdated files are dropped without lists-cleanup
[apt.git] / test / integration / test-bug-602412-dequote-redirect
index bcebb57b8273dea6e5277021bfedd016f44a545f..3d88baaef44bb649c918b23031c1d416bd5f0ec5 100755 (executable)
@@ -1,29 +1,44 @@
 #!/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'
 
-setupaptarchive
+setupaptarchive --no-update
 changetowebserver -o aptwebserver::redirect::replace::/pool/=/newpool/ \
                  -o aptwebserver::redirect::replace::/dists/=/newdists/
 
 mv aptarchive/pool aptarchive/newpool
 mv aptarchive/dists aptarchive/newdists
 
-msgtest 'Test redirection works in' 'apt-get update'
-testsuccess --nomsg aptget update
+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
-testequal 'Hit http://localhost:8080 unstable InRelease
-Hit http://localhost:8080 unstable/main Sources
-Hit http://localhost:8080 unstable/main amd64 Packages
-Hit http://localhost:8080 unstable/main Translation-en
-Reading package lists...' aptget update #-o debug::pkgacquire=1 -o debug::pkgacquire::worker=1
+       # check that I-M-S header is kept in redirections
+       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
+       msgtest 'Test redirection works in' 'package download'
+       testsuccess --nomsg aptget install unrelated --download-only -y
+}
+
+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
+
+changetohttpswebserver
+
+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