summaryrefslogtreecommitdiff
path: root/test/integration
diff options
context:
space:
mode:
authorMichael Vogt <mvo@debian.org>2014-02-28 20:28:08 +0100
committerMichael Vogt <mvo@debian.org>2014-02-28 20:28:08 +0100
commit8c55d4d117f1641650cd832c957ccdbf71b04893 (patch)
treeaa69ee9a261598e565619fd39e2f4c131106713a /test/integration
parent821197c1198547077a8a0de5ebbb1b355ec33572 (diff)
parented9665aedf77b3b8345bd4ed33de7885738e29f0 (diff)
Merge branch 'debian/sid' into ubuntu/master
Diffstat (limited to 'test/integration')
-rw-r--r--test/integration/framework43
-rwxr-xr-xtest/integration/test-apt-https-no-redirect2
2 files changed, 9 insertions, 36 deletions
diff --git a/test/integration/framework b/test/integration/framework
index 99214ef73..911a4d742 100644
--- a/test/integration/framework
+++ b/test/integration/framework
@@ -111,6 +111,9 @@ aptftparchive() { runapt apt-ftparchive "$@"; }
aptkey() { runapt apt-key "$@"; }
aptmark() { runapt apt-mark "$@"; }
apt() { runapt apt "$@"; }
+apthelper() {
+ LD_LIBRARY_PATH=${APTHELPERBINDIR} ${APTHELPERBINDIR}/apt-helper "$@";
+}
aptwebserver() {
LD_LIBRARY_PATH=${APTWEBSERVERBINDIR} ${APTWEBSERVERBINDIR}/aptwebserver "$@";
}
@@ -177,6 +180,7 @@ setupenvironment() {
# allow overriding the default BUILDDIR location
BUILDDIRECTORY=${APT_INTEGRATION_TESTS_BUILD_DIR:-"${TESTDIRECTORY}/../../build/bin"}
METHODSDIR=${APT_INTEGRATION_TESTS_METHODS_DIR:-"${BUILDDIRECTORY}/methods"}
+ APTHELPERBINDIR=${APT_INTEGRATION_TESTS_LIBEXEC_DIR:-"${BUILDDIRECTORY}"}
APTWEBSERVERBINDIR=${APT_INTEGRATION_TESTS_WEBSERVER_BIN_DIR:-"${BUILDDIRECTORY}"}
test -x "${BUILDDIRECTORY}/apt-get" || msgdie "You need to build tree first"
# -----
@@ -934,41 +938,10 @@ changetocdrom() {
}
downloadfile() {
- PROTO="$(echo "$1" | cut -d':' -f 1)"
- if [ ! -x "${METHODSDIR}/${PROTO}" ]; then
- msgwarn "can not find ${METHODSDIR}/${PROTO}"
- return 1
- fi
- local DOWNLOG="${TMPWORKINGDIRECTORY}/download.log"
- rm -f "$DOWNLOG"
- touch "$DOWNLOG"
- {
- echo "601 Configuration
-Config-Item: Acquire::https::CaInfo=${TESTDIR}/apt.pem
-Config-Item: Debug::Acquire::${PROTO}=1
-
-600 Acquire URI
-URI: $1
-Filename: ${2}
-"
- # simple worker keeping stdin open until we are done (201) or error (400)
- # and requesting new URIs on try-agains/redirects in-between
- { tail -n 999 -f "$DOWNLOG" & echo "TAILPID: $!"; } | while read f1 f2; do
- if [ "$f1" = 'TAILPID:' ]; then
- TAILPID="$f2"
- elif [ "$f1" = 'New-URI:' ]; then
- echo "600 Acquire URI
-URI: $f2
-Filename: ${2}
-"
- elif [ "$f1" = '201' ] || [ "$f1" = '400' ]; then
- # tail would only die on next read – which never happens
- test -z "$TAILPID" || kill -s HUP "$TAILPID"
- break
- fi
- done
- } | LD_LIBRARY_PATH=${BUILDDIRECTORY} ${METHODSDIR}/${PROTO} 2>&1 | tee "$DOWNLOG"
- rm "$DOWNLOG"
+ PROTO="$(echo "$1" | cut -d':' -f 1)"
+ apthelper -o Acquire::https::CaInfo=${TESTDIR}/apt.pem \
+ -o Debug::Acquire::${PROTO}=1 \
+ download-file "$1" "$2" 2>&1
# only if the file exists the download was successful
if [ -e "$2" ]; then
return 0
diff --git a/test/integration/test-apt-https-no-redirect b/test/integration/test-apt-https-no-redirect
index c405d1167..0408c6832 100755
--- a/test/integration/test-apt-https-no-redirect
+++ b/test/integration/test-apt-https-no-redirect
@@ -19,6 +19,6 @@ msgtest 'normal https download works'
downloadfile 'https://localhost:4433/pool/apt_1.0/changelog' changelog >/dev/null 2>/dev/null && msgpass || msgfail
msgtest 'redirecting https to http does not work'
-downloadfile 'https://localhost:4433/redirectme/pool/apt_1.0/changelog' changelog3 2>&1 | grep "Protocol http not supported or disabled in libcurl" > /dev/null && msgpass
+downloadfile 'https://localhost:4433/redirectme/pool/apt_1.0/changelog' changelog3 2>&1 | grep "Protocol http not supported or disabled in libcurl" > /dev/null && msgpass || msgfail