From da3ebfe79d570c3aeb5f0a407cfec7996f44420c Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Tue, 10 Jul 2012 12:01:46 +0200 Subject: add failing regression test for bug #346386 --- test/integration/test-ubuntu-bug346386 | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100755 test/integration/test-ubuntu-bug346386 (limited to 'test/integration/test-ubuntu-bug346386') diff --git a/test/integration/test-ubuntu-bug346386 b/test/integration/test-ubuntu-bug346386 new file mode 100755 index 000000000..57004f343 --- /dev/null +++ b/test/integration/test-ubuntu-bug346386 @@ -0,0 +1,19 @@ +#!/bin/sh +set -e + +TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework + +setupenvironment +configarchitecture 'amd64' + +buildsimplenativepackage 'apt' 'all' '1.0' 'stable' + +setupaptarchive +simulatebrokenwebserver + +rm -rf rootdir/var/lib/apt/lists +aptget update +testequal 'partial' "$(ls rootdir/var/lib/apt/lists/)" + + -- cgit v1.2.3 From 3ce22d4f714414d6deb8b044c5b08a8fe7a78967 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Tue, 10 Jul 2012 13:19:54 +0200 Subject: cleanup, thanks to donkult for his feedback --- test/integration/test-ubuntu-bug346386 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test/integration/test-ubuntu-bug346386') diff --git a/test/integration/test-ubuntu-bug346386 b/test/integration/test-ubuntu-bug346386 index 57004f343..a5f502853 100755 --- a/test/integration/test-ubuntu-bug346386 +++ b/test/integration/test-ubuntu-bug346386 @@ -10,7 +10,7 @@ configarchitecture 'amd64' buildsimplenativepackage 'apt' 'all' '1.0' 'stable' setupaptarchive -simulatebrokenwebserver +changetowebserver --simulate-paywall rm -rf rootdir/var/lib/apt/lists aptget update -- cgit v1.2.3 From 549b49394848d051dc116600571df55d7160eeaa Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Tue, 10 Jul 2012 14:10:19 +0200 Subject: improve test some more --- test/integration/test-ubuntu-bug346386 | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) (limited to 'test/integration/test-ubuntu-bug346386') diff --git a/test/integration/test-ubuntu-bug346386 b/test/integration/test-ubuntu-bug346386 index a5f502853..1fbfb5ca4 100755 --- a/test/integration/test-ubuntu-bug346386 +++ b/test/integration/test-ubuntu-bug346386 @@ -1,6 +1,24 @@ #!/bin/sh set -e +ensure_n_canary_strings_in_dir() { + DIR=$1 + CANARY_STRING=$2 + EXPECTED_N=$3 + + msgtest "Testing for $EXPECTED_N canary strings '$CANARY_STRING' in in $DIR" + + + N=$(grep "$CANARY_STRING" $DIR/* 2>/dev/null |wc -l ) + if [ "$N" = "$EXPECTED_N" ]; then + msgpass + return 0 + else + msgfail "Expected $EXPECTED_N canaries, got $N" + return 1 + fi +} + TESTDIR=$(readlink -f $(dirname $0)) . $TESTDIR/framework @@ -13,7 +31,17 @@ setupaptarchive changetowebserver --simulate-paywall rm -rf rootdir/var/lib/apt/lists -aptget update -testequal 'partial' "$(ls rootdir/var/lib/apt/lists/)" +if aptget update -qq 2>/dev/null; then + msgfail "excpected apt-get update failure" +fi +ensure_n_canary_strings_in_dir rootdir/var/lib/apt/lists/ "ni ni ni" 0 +testequal 'partial' ls rootdir/var/lib/apt/lists/ +# again, this time with pre-existing files valid data +for f in Release Release.gpg main_binary-amd64_Packages stable_main_source_Sources; do + echo "canary" > rootdir/var/lib/apt/lists/localhost:8080_dists_stable_${f} +done +# this will fail, the important part is that the canaries remain +aptget update -qq 2>/dev/null || true +ensure_n_canary_strings_in_dir rootdir/var/lib/apt/lists/ "canary" 4 -- cgit v1.2.3