X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/b7a1076f18022cbeb7baf4d82ab8bae0f725a573..68151307d42ed64cd6258f94a0d748abe9efb8e0:/test/integration/test-pdiff-usage?ds=sidebyside diff --git a/test/integration/test-pdiff-usage b/test/integration/test-pdiff-usage index 11c8c4cc1..9c7946083 100755 --- a/test/integration/test-pdiff-usage +++ b/test/integration/test-pdiff-usage @@ -10,9 +10,24 @@ LOWCOSTEXT='lz4' buildaptarchive setupflataptarchive -changetowebserver -o aptwebserver::support::modified-since=false +changetowebserver + +cat >rootdir/etc/apt/apt.conf.d/contents.conf < aptarchive/Contents-i386 +compressfile aptarchive/Contents-i386 +echo 'hacked' > aptarchive/hacked-i386 +compressfile aptarchive/hacked-i386 wasmergeused() { testsuccess apt update "$@" @@ -46,6 +61,8 @@ wasmergeused() { else msgpass fi + + testequal '1' grep -c rred:601 rootdir/tmp/testsuccess.output } testrun() { @@ -192,6 +209,29 @@ SHA256-Download: testsuccessequal "$(cat Packages-future) " aptcache show apt newstuff futurestuff + # we reuse the archive state of the previous test here + msgmsg "Testcase: pdiff handling is stopped if transaction fails $*" + rm -rf rootdir/var/lib/apt/lists + cp -a rootdir/var/lib/apt/lists-bak rootdir/var/lib/apt/lists + cp Packages-future aptarchive/Packages + rm -f rootdir/var/lib/apt/lists/*_Contents-* + webserverconfig 'aptwebserver::overwrite::.*Contents-.*::filename' '/hacked-i386.gz' + testfailure apt update "$@" + webserverconfig 'aptwebserver::overwrite::.*Contents-.*::filename' '/Contents-i386.gz' + cp rootdir/tmp/testfailure.output patchdownload.output + testfailure grep 'rred:600' patchdownload.output + testnopackage newstuff futurestuff + testsuccessequal "$(cat "${PKGFILE}") +" aptcache show apt oldstuff + + # we reuse the entire state of the previous test here + msgmsg "Testcase: good files from previous fails are picked up from partial: $*" + wasmergeused "$@" + testfailure grep '^GET /Packages.diff/Index HTTP/1.1' rootdir/tmp/testsuccess.output + testnopackage oldstuff + testsuccessequal "$(cat Packages-future) +" aptcache show apt newstuff futurestuff + # we reuse the archive state of the previous test here msgmsg "Testcase: downloading a patch fails, but successful fallback: $*" rm -rf rootdir/var/lib/apt/lists @@ -262,7 +302,7 @@ SHA256-Download: $(sha256sum "${PATCHFILE}.gz" | cut -d' ' -f 1) $(stat -c%s "${PATCHFILE}.gz")000 $(basename "${PATCHFILE}.gz")" > "$PATCHINDEX" generatereleasefiles '+1hour' signreleasefiles - testsuccess apt update -o Debug::pkgAcquire::Diffs=1 "$@" + testsuccess apt update "$@" cp -f rootdir/tmp/testsuccess.output rootdir/tmp/aptupdate.output testsuccess grep 'bytes (Limit is' rootdir/tmp/aptupdate.output testnopackage oldstuff @@ -271,6 +311,9 @@ SHA256-Download: } echo 'Debug::pkgAcquire::Diffs "true"; Debug::Acquire::Transaction "true"; +Debug::pkgAcquire::Worker "true"; +Debug::Acquire::http "true"; +Debug::pkgAcquire "true"; Debug::pkgAcquire::rred "true";' > rootdir/etc/apt/apt.conf.d/rreddebug.conf testcase() {