diff options
author | Michael Vogt <michael.vogt@ubuntu.com> | 2010-10-13 15:36:54 +0200 |
---|---|---|
committer | Michael Vogt <michael.vogt@ubuntu.com> | 2010-10-13 15:36:54 +0200 |
commit | 61153c284c832a0d0f7faecd9ad96f6cd9591c64 (patch) | |
tree | a60d61b723bbc90b8b715a476c5f1ee5e8d6e0c2 /test/integration/test-bug-595691-empty-and-broken-archive-files | |
parent | 940ff5d6b5634b57c2e622b5295f499a7807f3de (diff) | |
parent | 6bea738672fb503d2813ae2d998096015a81c4a2 (diff) |
merged from debian-sid branch
Diffstat (limited to 'test/integration/test-bug-595691-empty-and-broken-archive-files')
-rwxr-xr-x | test/integration/test-bug-595691-empty-and-broken-archive-files | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/test/integration/test-bug-595691-empty-and-broken-archive-files b/test/integration/test-bug-595691-empty-and-broken-archive-files new file mode 100755 index 000000000..2f127221a --- /dev/null +++ b/test/integration/test-bug-595691-empty-and-broken-archive-files @@ -0,0 +1,91 @@ +#!/bin/sh +set -e + +TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework +setupenvironment +configarchitecture "i386" + +buildaptarchive +setupflataptarchive + +testaptgetupdate() { + aptget update 2>> testaptgetupdate.diff >> testaptgetupdate.diff || true + sed -i -e '/^Fetched / d' -e 's#\[[0-9]* [kMGTPY]*B\]#\[\]#' testaptgetupdate.diff + GIVEN="$1" + shift + msgtest "Test for correctness of" "apt-get update with $*" + if [ -z "$GIVEN" ]; then + echo -n "" | checkdiff - testaptgetupdate.diff && msgpass || msgfail + else + echo "$GIVEN" | checkdiff - testaptgetupdate.diff && msgpass || msgfail + fi + rm testaptgetupdate.diff +} + +touch aptarchive/en.bz2 + +testaptgetupdate "Ign file: Release.gpg +Ign file:$(readlink -f aptarchive)/ Translation-en +Get:1 file: Release [] +Reading package lists..." "empty file en.bz2 over file" + +rm aptarchive/en.bz2 +echo -n "" | bzip2 > aptarchive/en.bz2 + +testaptgetupdate "Ign file: Release.gpg +Get:1 file: Release [] +Reading package lists..." "empty archive en.bz2 over file" + +rm aptarchive/en.bz2 + +# do the same again with http instead of file +changetowebserver + +touch aptarchive/en.bz2 + +testaptgetupdate "Ign http://localhost Release.gpg +Get:1 http://localhost/ Translation-en +Get:2 http://localhost Release [] +Ign http://localhost/ Translation-en +Get:3 http://localhost Packages [] +Reading package lists..." "empty file en.bz2 over http" + +rm aptarchive/en.bz2 +echo -n "" | bzip2 > aptarchive/en.bz2 + +testaptgetupdate "Ign http://localhost Release.gpg +Get:1 http://localhost/ Translation-en [] +Get:2 http://localhost Release [] +Ign http://localhost Packages/DiffIndex +Get:3 http://localhost Packages [] +Reading package lists..." "empty archive en.bz2 over http" + +rm aptarchive/en.bz2 + +rm aptarchive/Packages +touch aptarchive/Packages +buildaptarchivefromfiles + +testaptgetupdate "Ign http://localhost Release.gpg +Ign http://localhost/ Translation-en +Get:1 http://localhost Release [] +Ign http://localhost Packages/DiffIndex +Get:2 http://localhost Packages [] +Reading package lists..." "empty archive Packages over http" + +find aptarchive/ -name 'Packages*' -type f -delete +touch aptarchive/Packages.bz2 +aptftparchive release aptarchive/ > aptarchive/Release + +#FIXME: we should response with a good error message instead +testaptgetupdate "Ign http://localhost Release.gpg +Ign http://localhost/ Translation-en +Get:1 http://localhost Release [] +Ign http://localhost Packages/DiffIndex +Get:2 http://localhost Packages +Err http://localhost Packages + Undetermined Error +W: Failed to fetch http://localhost:8080/Packages.bz2 Undetermined Error + +E: Some index files failed to download, they have been ignored, or old ones used instead." "empty file Packages over http" |