X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/2b0660b537581e9e65180e4cf1a94d763fd66847..0343b48e06fb990ee15a020bc6716b1a5a984e14:/test/integration/test-apt-update-rollback diff --git a/test/integration/test-apt-update-rollback b/test/integration/test-apt-update-rollback index e19240206..f9c55bc91 100755 --- a/test/integration/test-apt-update-rollback +++ b/test/integration/test-apt-update-rollback @@ -30,6 +30,7 @@ add_new_package() { } break_repository_sources_index() { + mv "$APTARCHIVE/dists/unstable/main/source/Sources.gz" "$APTARCHIVE/dists/unstable/main/source/Sources.gz.orig" printf 'xxx' > "$APTARCHIVE/dists/unstable/main/source/Sources" compressfile "$APTARCHIVE/dists/unstable/main/source/Sources" "$@" } @@ -60,7 +61,15 @@ test_inrelease_to_broken_hash_reverts_all() { break_repository_sources_index '+1hour' # test the error condition - testfailureequal "W: Failed to fetch file:${APTARCHIVE}/dists/unstable/main/source/Sources.gz Hash Sum mismatch + testfailureequal "E: Failed to fetch file:${APTARCHIVE}/dists/unstable/main/source/Sources.gz Hash Sum mismatch + Hashes of expected file: + - Checksum-FileSize:$(stat -c '%s' 'aptarchive/dists/unstable/main/source/Sources.gz.orig') [weak] + - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/source/Sources.gz.orig' | cut -d' ' -f 1) + Hashes of received file: + - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/source/Sources.gz' | cut -d' ' -f 1) + - Checksum-FileSize:$(stat -c '%s' 'aptarchive/dists/unstable/main/source/Sources.gz') [weak] + Last modification reported: $(lastmodification 'aptarchive/dists/unstable/main/source/Sources.gz') + Release file created at: $(releasefiledate 'aptarchive/dists/unstable/InRelease') E: Some index files failed to download. They have been ignored, or old ones used instead." aptget update -qq # ensure that the Packages file is also rolled back testfileequal lists.before "$(listcurrentlistsdirectory)" @@ -73,8 +82,7 @@ test_inrelease_to_valid_release() { add_new_package '+1hour' # switch to a unsigned repo now - rm "$APTARCHIVE/dists/unstable/InRelease" - rm "$APTARCHIVE/dists/unstable/Release.gpg" + rm -f "$APTARCHIVE/dists/unstable/InRelease" "$APTARCHIVE/dists/unstable/Release.gpg" # update fails testfailureequal "E: The repository 'file:${APTARCHIVE} unstable Release' is no longer signed." aptget update -qq @@ -93,8 +101,7 @@ test_inrelease_to_release_reverts_all() { # switch to a unsigned repo now add_new_package '+1hour' - rm "$APTARCHIVE/dists/unstable/InRelease" - rm "$APTARCHIVE/dists/unstable/Release.gpg" + rm -f "$APTARCHIVE/dists/unstable/InRelease" "$APTARCHIVE/dists/unstable/Release.gpg" # break it break_repository_sources_index '+1hour' @@ -113,8 +120,7 @@ test_inrelease_to_release_reverts_all() { test_unauthenticated_to_invalid_inrelease() { msgmsg 'Test UnAuthenticated to invalid InRelease reverts everything' create_fresh_archive - rm "$APTARCHIVE/dists/unstable/InRelease" - rm "$APTARCHIVE/dists/unstable/Release.gpg" + rm -f "$APTARCHIVE/dists/unstable/InRelease" "$APTARCHIVE/dists/unstable/Release.gpg" testwarning aptget update --allow-insecure-repositories listcurrentlistsdirectory > lists.before @@ -126,7 +132,15 @@ E: There were unauthenticated packages and -y was used without --allow-unauthent add_new_package '+1hour' break_repository_sources_index '+1hour' - testfailureequal "W: Failed to fetch file:$APTARCHIVE/dists/unstable/main/source/Sources.gz Hash Sum mismatch + testfailureequal "E: Failed to fetch file:$APTARCHIVE/dists/unstable/main/source/Sources.gz Hash Sum mismatch + Hashes of expected file: + - Checksum-FileSize:$(stat -c '%s' 'aptarchive/dists/unstable/main/source/Sources.gz.orig') [weak] + - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/source/Sources.gz.orig' | cut -d' ' -f 1) + Hashes of received file: + - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/source/Sources.gz' | cut -d' ' -f 1) + - Checksum-FileSize:$(stat -c '%s' 'aptarchive/dists/unstable/main/source/Sources.gz') [weak] + Last modification reported: $(lastmodification 'aptarchive/dists/unstable/main/source/Sources.gz') + Release file created at: $(releasefiledate 'aptarchive/dists/unstable/InRelease') E: Some index files failed to download. They have been ignored, or old ones used instead." aptget update -qq testfileequal lists.before "$(listcurrentlistsdirectory)" @@ -169,14 +183,13 @@ test_inrelease_to_broken_gzip() { testfileequal lists.before "$(listcurrentlistsdirectory)" } -TESTDIR=$(readlink -f $(dirname $0)) -. $TESTDIR/framework +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" setupenvironment configarchitecture "i386" +export APT_DONT_SIGN='Release.gpg' -# setup the archive and ensure we have a single package that installs fine -setupaptarchive APTARCHIVE="$(readlink -f ./aptarchive)" ROOTDIR="${TMPWORKINGDIRECTORY}/rootdir" APTARCHIVE_LISTS="$(echo "$APTARCHIVE" | tr "/" "_" )"