summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDavid Kalnischkies <kalnischkies@gmail.com>2011-06-29 22:38:59 +0200
committerDavid Kalnischkies <kalnischkies@gmail.com>2011-06-29 22:38:59 +0200
commit5b7d1ee67575e311871fb73be421ea7fd2f6fd73 (patch)
treec045fd2e2c158e408e04d56e88cc726bae8539a6 /test
parent9919af907aef04caa4061e411259525e46eb49e2 (diff)
* apt-pkg/policy.cc:
- do not segfault in pinning if a package with this name doesn't exist. Thanks to Ferdinand Thommes for the report!
Diffstat (limited to 'test')
-rwxr-xr-xtest/integration/test-pin-non-existent-package44
1 files changed, 44 insertions, 0 deletions
diff --git a/test/integration/test-pin-non-existent-package b/test/integration/test-pin-non-existent-package
new file mode 100755
index 000000000..1031272e2
--- /dev/null
+++ b/test/integration/test-pin-non-existent-package
@@ -0,0 +1,44 @@
+#!/bin/sh
+set -e
+
+TESTDIR=$(readlink -f $(dirname $0))
+. $TESTDIR/framework
+setupenvironment
+configarchitecture "i386"
+
+insertpackage 'unstable' 'apt' 'i386' '0.8.15'
+
+setupaptarchive
+
+testcandidate() {
+ msgtest "Test that the Candidate for $1 is" $2
+ test "$(aptcache policy $1 | grep '^ Candidate:')" = " Candidate: $2" && msgpass || msgfail
+}
+
+testcandidate apt '0.8.15'
+testequal 'N: Unable to locate package doesntexist' aptcache policy doesntexist -q=0
+testequal 'Reading package lists...
+Building dependency tree...
+0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget dist-upgrade
+
+echo 'Package: apt
+Pin: release a=unstable
+Pin-Priority: -1' > rootdir/etc/apt/preferences
+
+testcandidate apt '(none)'
+testequal 'N: Unable to locate package doesntexist' aptcache policy doesntexist -q=0
+testequal 'Reading package lists...
+Building dependency tree...
+0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget dist-upgrade
+
+echo '
+Package: doesntexist
+Pin: release a=unstable
+Pin-Priority: 1000' >> rootdir/etc/apt/preferences
+
+testcandidate apt '(none)'
+testequal 'N: Unable to locate package doesntexist' aptcache policy doesntexist -q=0
+
+testequal 'Reading package lists...
+Building dependency tree...
+0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget dist-upgrade