# ensure that an update will only succeed entirely or not at all
-TESTDIR=$(readlink -f $(dirname $0))
-. $TESTDIR/framework
+TESTDIR="$(readlink -f "$(dirname "$0")")"
+. "$TESTDIR/framework"
setupenvironment
configarchitecture 'i386'
configcompression '.' 'gz'
-insertpackage 'unstable' 'foo' 'all' '1.0'
-insertsource 'unstable' 'foo' 'all' '1.0'
+insertpackage 'unstable' 'foo' 'i386' '1.0'
+insertsource 'unstable' 'foo' 'i386' '1.0'
setupaptarchive --no-update
testrun() {
rm -rf aptarchive/dists.good
cp -a aptarchive/dists aptarchive/dists.good
- insertpackage 'unstable' 'bar' 'all' '1.0'
- insertsource 'unstable' 'bar' 'all' '1.0'
+ insertpackage 'unstable' 'bar' 'i386' '1.0'
+ insertsource 'unstable' 'bar' 'i386' '1.0'
buildaptarchivefromfiles '+1 hour'
# produce an unsigned repository
signreleasefiles
onehashbroken() {
- testfailure aptget update
+ rm -rf rootdir/var/lib/apt/lists/partial
+ testfailure aptget update -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::http=1
# each file generates two messages with this string
testequal '2' grep --count 'Hash Sum mismatch' rootdir/tmp/testfailure.output
testfileequal "$1" "$(listcurrentlistsdirectory)"
changetowebserver
webserverconfig 'aptwebserver::support::modified-since' 'false' "$1"
webserverconfig 'aptwebserver::support::last-modified' 'false' "$1" # curl is clever and sees hits here also
-webserverconfig 'aptwebserver::support::range' 'false' "$1"
+webserverconfig 'aptwebserver::response-header::Accept-Ranges' 'none' "$1"
testsetup 'http'