X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/50d98a1be2e15f44dea23a5d3840c79366a42fe0..9e4464914bcc5c896d81f7ca1948f9bfbfb50886:/test/integration/test-apt-by-hash-update diff --git a/test/integration/test-apt-by-hash-update b/test/integration/test-apt-by-hash-update index 6b3032ad6..cef46a1b8 100755 --- a/test/integration/test-apt-by-hash-update +++ b/test/integration/test-apt-by-hash-update @@ -11,29 +11,41 @@ insertpackage 'unstable' 'foo' 'all' '1.0' setupaptarchive --no-update -APTARCHIVE=$(readlink -f ./aptarchive) - -# make Packages *only* accessable by-hash for this test -mkdir -p aptarchive/dists/unstable/main/binary-i386/by-hash -(cd aptarchive/dists/unstable/main/binary-i386/by-hash && - mv ../Packages* . && - ln -s Packages.gz $(sha256sum Packages.gz|cut -f1 -d' ') ) +# make Packages *only* accessible by-hash for this test +mkdir -p aptarchive/dists/unstable/main/binary-i386/by-hash/SHA512 +(cd aptarchive/dists/unstable/main/binary-i386/by-hash/SHA512 && + mv ../../Packages* . && + ln -s Packages.gz $(sha512sum Packages.gz|cut -f1 -d' ') ) # add sources -mkdir -p aptarchive/dists/unstable/main/source/by-hash -(cd aptarchive/dists/unstable/main/source/by-hash && - ln -s ../Sources.gz $(sha256sum ../Sources.gz|cut -f1 -d' ') +mkdir -p aptarchive/dists/unstable/main/source/by-hash/SHA512 +(cd aptarchive/dists/unstable/main/source/by-hash/SHA512 && + ln -s ../../Sources.gz $(sha512sum ../../Sources.gz|cut -f1 -d' ') ) +# we moved the Packages file away, normal update won't work +testfailure aptget update # ensure we do not know about "foo" -testequal "Reading package lists... +testfailureequal "Reading package lists... Building dependency tree... E: Unable to locate package foo" aptget install -q -s foo # ensure we can apt-get update by hash -testsuccess aptget update -o APT::Acquire::By-Hash=1 - -# ensure it keeps working -testequal "Inst foo (1.0 unstable [all]) -Conf foo (1.0 unstable [all])" aptget install -qq -s foo \ No newline at end of file +testsuccess aptget update -o APT::Acquire::By-Hash=1 -o Acquire::Languages=none + +ensureitworks() { + testsuccessequal "Inst foo (1.0 unstable [all]) +Conf foo (1.0 unstable [all])" aptget install -qq -s foo +} +ensureitworks + +# add magic string to Release file ... +MAGIC="Acquire-By-Hash: true" +sed -i "s#Suite: unstable#Suite: unstable\n$MAGIC#" aptarchive/dists/unstable/Release +signreleasefiles +# ... and verify that it fetches by hash now +rm -rf rootdir/var/lib/apt/lists +testsuccess aptget update -o Acquire::Languages=none + +ensureitworks