From b855a40058f99a0f10184c410b3bbf3c2ee4ae83 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Wed, 4 Jul 2012 23:54:48 +0200 Subject: * cmdline/apt-mark.cc: - arch:all packages are treated as arch:native packages, but dpkg expects pkg:all for selections, so use the arch of the installed version instead of the package structure if possible. Thanks to Stepan Golosunov for the report! (Closes: #680041) --- test/integration/framework | 5 ++ .../test-bug-680041-apt-mark-holds-correctly | 72 ++++++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100755 test/integration/test-bug-680041-apt-mark-holds-correctly (limited to 'test/integration') diff --git a/test/integration/framework b/test/integration/framework index 2d6ada117..da85d2332 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -736,6 +736,11 @@ testfileequal() { fi } +testempty() { + msgtest "Test for no output of" "$*" + test -z "$($* 2>&1)" && msgpass || msgfail +} + testequal() { local COMPAREFILE=$(mktemp) addtrap "rm $COMPAREFILE;" diff --git a/test/integration/test-bug-680041-apt-mark-holds-correctly b/test/integration/test-bug-680041-apt-mark-holds-correctly new file mode 100755 index 000000000..2e5e39c8e --- /dev/null +++ b/test/integration/test-bug-680041-apt-mark-holds-correctly @@ -0,0 +1,72 @@ +#!/bin/sh +set -e + +TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework +setupenvironment +configarchitecture 'amd64' + +insertinstalledpackage 'pkgarch' 'amd64' '1' +insertinstalledpackage 'pkgall' 'all' '1' + +insertpackage 'unstable' 'pkgarch' 'amd64' '2' +insertpackage 'unstable' 'pkgall' 'all' '2' + +setupaptarchive + +runtests() { + testempty aptmark showhold + + testequal 'Reading package lists... +Building dependency tree... +The following packages will be upgraded: + pkgall pkgarch +2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +After this operation, 0 B of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation.' aptget dist-upgrade --trivial-only + + testequal 'pkgarch set on hold.' aptmark hold pkgarch + testequal 'pkgarch' aptmark showhold + + testequal 'Reading package lists... +Building dependency tree... +The following packages have been kept back: + pkgarch +The following packages will be upgraded: + pkgall +1 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. +After this operation, 0 B of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation.' aptget dist-upgrade --trivial-only + + testequal 'Canceled hold on pkgarch.' aptmark unhold pkgarch + testempty aptmark showhold + + testequal 'Reading package lists... +Building dependency tree... +The following packages will be upgraded: + pkgall pkgarch +2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +After this operation, 0 B of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation.' aptget dist-upgrade --trivial-only + + testequal 'pkgall set on hold.' aptmark hold pkgall + testequal 'pkgall' aptmark showhold + + testequal 'Reading package lists... +Building dependency tree... +The following packages have been kept back: + pkgall +The following packages will be upgraded: + pkgarch +1 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. +After this operation, 0 B of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation.' aptget dist-upgrade --trivial-only + + testequal 'Canceled hold on pkgall.' aptmark unhold pkgall + testempty aptmark showhold +} +# single-arch +runtests +# multi-arch +configarchitecture 'amd64' 'i386' +runtests -- cgit v1.2.3