X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/17091f2f33de16c2dae501e7868f7aec4fc3452f..3abb6a6a1e485b3bc899b64b0a1b7dc2db25a9c2:/test/integration/test-ubuntu-bug-346386-apt-get-update-paywall diff --git a/test/integration/test-ubuntu-bug-346386-apt-get-update-paywall b/test/integration/test-ubuntu-bug-346386-apt-get-update-paywall index 8e50843f3..bb595f785 100755 --- a/test/integration/test-ubuntu-bug-346386-apt-get-update-paywall +++ b/test/integration/test-ubuntu-bug-346386-apt-get-update-paywall @@ -1,8 +1,8 @@ #!/bin/sh set -e -TESTDIR=$(readlink -f $(dirname $0)) -. $TESTDIR/framework +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" setupenvironment configarchitecture 'native' @@ -16,13 +16,12 @@ setupaptarchive changetowebserver -o 'aptwebserver::overwrite::.*::filename=/knights' msgtest 'Acquire test file from the webserver to check' 'overwrite' -echo '601 Configuration -Config-Item: Acquire::http::DependOnSTDIN=0 +if downloadfile http://localhost:${APTHTTPPORT}/holygrail ./knights-talking >/dev/null; then + msgpass +else + msgfail +fi -600 Acquire URI -URI: http://localhost:8080/holygrail -Filename: knights-talking -' | runapt ${METHODSDIR}/http >/dev/null 2>&1 && msgpass || msgfail testfileequal knights-talking 'ni ni ni' ensure_n_canary_strings_in_dir() { @@ -37,28 +36,32 @@ ensure_n_canary_strings_in_dir() { LISTS='rootdir/var/lib/apt/lists' rm -rf rootdir/var/lib/apt/lists -msgtest 'Got expected NODATA failure in' 'apt-get update' -aptget update -qq 2>&1 | grep -q 'E: GPG error.*NODATA' && msgpass || msgfail +testfailure aptget update +testsuccess grep '^W:.*Clearsigned file .*NOSPLIT.*' rootdir/tmp/testfailure.output -ensure_n_canary_strings_in_dir $LISTS 'ni ni ni' 0 -testequal 'partial' ls $LISTS +ensure_n_canary_strings_in_dir "$LISTS" 'ni ni ni' 0 +testequal 'lock +partial' ls "$LISTS" # and again with pre-existing files with "valid data" which should remain for f in Release Release.gpg main_binary-amd64_Packages main_source_Sources; do - echo 'peng neee-wom' > $LISTS/localhost:8080_dists_stable_${f} + echo 'peng neee-wom' > "$LISTS/localhost:${APTHTTPPORT}_dists_stable_${f}" + chmod 644 "$LISTS/localhost:${APTHTTPPORT}_dists_stable_${f}" done -msgtest 'Got expected NODATA failure in' 'apt-get update' -aptget update -qq 2>&1 | grep -q 'E: GPG error.*NODATA' && msgpass || msgfail +testfailure aptget update +testsuccess grep '^W:.*Clearsigned file .*NOSPLIT.*' rootdir/tmp/testfailure.output -ensure_n_canary_strings_in_dir $LISTS 'peng neee-wom' 4 -ensure_n_canary_strings_in_dir $LISTS 'ni ni ni' 0 +ensure_n_canary_strings_in_dir "$LISTS" 'peng neee-wom' 4 +ensure_n_canary_strings_in_dir "$LISTS" 'ni ni ni' 0 # and now with a pre-existing InRelease file -echo 'peng neee-wom' > $LISTS/localhost:8080_dists_stable_InRelease -rm -f $LISTS/localhost:8080_dists_stable_Release $LISTS/localhost:8080_dists_stable_Release.gpg +echo 'peng neee-wom' > "$LISTS/localhost:${APTHTTPPORT}_dists_stable_InRelease" +chmod 644 "$LISTS/localhost:${APTHTTPPORT}_dists_stable_InRelease" +rm -f "$LISTS/localhost:${APTHTTPPORT}_dists_stable_Release" "$LISTS/localhost:${APTHTTPPORT}_dists_stable_Release.gpg" msgtest 'excpected failure of' 'apt-get update' -aptget update -qq 2>&1 | grep -q 'E: GPG error.*NODATA' && msgpass || msgfail +testfailure aptget update +testsuccess grep '^W:.*Clearsigned file .*NOSPLIT.*' rootdir/tmp/testfailure.output -ensure_n_canary_strings_in_dir $LISTS 'peng neee-wom' 3 -ensure_n_canary_strings_in_dir $LISTS 'ni ni ni' 0 +ensure_n_canary_strings_in_dir "$LISTS" 'peng neee-wom' 3 +ensure_n_canary_strings_in_dir "$LISTS" 'ni ni ni' 0