From 6874a1a88255fe0ab1b501961ce1fec26ee718a7 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Thu, 9 Sep 2010 19:54:22 +0200 Subject: add a simple testcase for the previously fixed bug 595691 to check in future that APT plays considerable well with empty archives --- .../test-bug-595691-empty-and-broken-archive-files | 91 ++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100755 test/integration/test-bug-595691-empty-and-broken-archive-files (limited to 'test/integration/test-bug-595691-empty-and-broken-archive-files') 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..234073759 --- /dev/null +++ b/test/integration/test-bug-595691-empty-and-broken-archive-files @@ -0,0 +1,91 @@ +#!/bin/sh +set -e + +local 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" -- cgit v1.2.3 From 1054d76b2519efc858a9d23301495a763c1f8230 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Wed, 29 Sep 2010 18:34:48 +0200 Subject: fix the testcases which were broken by the new space between number and unit --- test/integration/test-bug-595691-empty-and-broken-archive-files | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test/integration/test-bug-595691-empty-and-broken-archive-files') diff --git a/test/integration/test-bug-595691-empty-and-broken-archive-files b/test/integration/test-bug-595691-empty-and-broken-archive-files index 234073759..d982a4981 100755 --- a/test/integration/test-bug-595691-empty-and-broken-archive-files +++ b/test/integration/test-bug-595691-empty-and-broken-archive-files @@ -11,7 +11,7 @@ setupflataptarchive testaptgetupdate() { aptget update 2>> testaptgetupdate.diff >> testaptgetupdate.diff || true - sed -i -e '/^Fetched / d' -e 's#\[[0-9]*[kMGTPY]*B\]#\[\]#' testaptgetupdate.diff + 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 $*" -- cgit v1.2.3 From 9962ae934b367294a57b27d58f7cdb4e2d54ce04 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 13 Oct 2010 15:22:48 +0200 Subject: tests/integration/test-*: remove a bunch of "local" that are used outside funtions (bash complains) --- test/integration/test-bug-595691-empty-and-broken-archive-files | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test/integration/test-bug-595691-empty-and-broken-archive-files') diff --git a/test/integration/test-bug-595691-empty-and-broken-archive-files b/test/integration/test-bug-595691-empty-and-broken-archive-files index d982a4981..2f127221a 100755 --- a/test/integration/test-bug-595691-empty-and-broken-archive-files +++ b/test/integration/test-bug-595691-empty-and-broken-archive-files @@ -1,7 +1,7 @@ #!/bin/sh set -e -local TESTDIR=$(readlink -f $(dirname $0)) +TESTDIR=$(readlink -f $(dirname $0)) . $TESTDIR/framework setupenvironment configarchitecture "i386" -- cgit v1.2.3