X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/081c9d442a6d39fb9bc419fe3ce697cc791cb844..832f95f4d018f18ff7b3d0381206f25b5a4373a6:/test/integration/test-apt-mark?ds=sidebyside diff --git a/test/integration/test-apt-mark b/test/integration/test-apt-mark index 0f62a12b4..7a115b03f 100755 --- a/test/integration/test-apt-mark +++ b/test/integration/test-apt-mark @@ -1,8 +1,8 @@ #!/bin/sh set -e -TESTDIR=$(readlink -f $(dirname $0)) -. $TESTDIR/framework +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" setupenvironment configarchitecture 'amd64' 'i386' @@ -20,36 +20,36 @@ testdpkginstalled dpkg testnoautopkg() { testempty aptmark showauto - testempty aptcache showauto - testequal 'bar + testempty aptcache -q=1 showauto + testsuccessequal 'bar dpkg foo' aptmark showmanual - testequal 'bar + testsuccessequal 'bar foo' aptmark showmanual bar foo uninstalled } testfooisauto() { - testequal 'foo' aptmark showauto - testequal 'foo' aptcache showauto - testequal 'foo' aptmark showauto foo - testequal 'foo' aptcache showauto foo - testequal 'bar + testsuccessequal 'foo' aptmark showauto + testsuccessequal 'foo' aptcache -q=1 showauto + testsuccessequal 'foo' aptmark showauto foo + testsuccessequal 'foo' aptcache -q=1 showauto foo + testsuccessequal 'bar dpkg' aptmark showmanual - testequal 'bar' aptmark showmanual bar + testsuccessequal 'bar' aptmark showmanual bar } testmarkonpkgasauto() { - testsuccess $1 $2 foo + testsuccess $1 -q=1 $2 foo testfooisauto - testsuccess $1 $2 foo + testsuccess $1 -q=1 $2 foo testfooisauto - testsuccess $1 $3 foo + testsuccess $1 -q=1 $3 foo testnoautopkg - testsuccess $1 $3 foo + testsuccess $1 -q=1 $3 foo testnoautopkg } -testequal 'E: No packages found' aptmark auto -testequal 'E: No packages found' aptmark manual +testfailureequal 'E: No packages found' aptmark auto +testfailureequal 'E: No packages found' aptmark manual testnoautopkg testmarkonpkgasauto 'aptmark' 'auto' 'manual' @@ -63,10 +63,10 @@ testnoholdpkg() { testempty aptmark showholds dpkg } testpkgonhold() { - testequal "$1" aptmark showhold - testequal "$1" aptmark showholds - testequal "$1" aptmark showhold $1 - testequal "$1" aptmark showholds $1 + testsuccessequal "$1" aptmark showhold + testsuccessequal "$1" aptmark showholds + testsuccessequal "$1" aptmark showhold $1 + testsuccessequal "$1" aptmark showholds $1 } testmarkonepkgashold() { testsuccess aptmark hold $1 @@ -79,14 +79,76 @@ testmarkonepkgashold() { testnoholdpkg } -testequal 'E: No packages found' aptmark hold -testequal 'E: No packages found' aptmark unhold +testfailureequal 'E: No packages found' aptmark hold +testfailureequal 'E: No packages found' aptmark unhold testnoholdpkg testmarkonepkgashold 'foo' testmarkonepkgashold 'bar' + +msgtest 'dpkg supports --merge-avail via' 'stdin' +if dpkg --merge-avail - < /dev/null >/dev/null 2>&1; then + msgpass +else + msgskip 'dpkg version too old' + exit 0 +fi + testmarkonepkgashold 'uninstalled' testmarkonepkgashold 'uninstalled-native' -testequal 'uninstalled set on hold.' aptmark hold uninstalled -testequal 'uninstalled-native set on hold.' aptmark hold uninstalled-native +testsuccessequal 'uninstalled set on hold.' aptmark hold uninstalled +testsuccessequal 'uninstalled-native set on hold.' aptmark hold uninstalled-native +#FIXME: holds on uninstalled packages are not persistent in dpkg +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following NEW packages will be installed: + uninstalled uninstalled-native +The following held packages will be changed: + uninstalled-native +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst uninstalled (1 unstable [all]) +Inst uninstalled-native (1 unstable [amd64]) +Conf uninstalled (1 unstable [all]) +Conf uninstalled-native (1 unstable [amd64])' aptget install uninstalled uninstalled-native -s +testsuccess aptmark unhold uninstalled uninstalled-native + +testselections() { + testsuccess aptmark hold "$1" + testsuccessequal "$1" aptmark showholds "$1" + testsuccess aptmark unhold "$1" + testsuccessequal "$1" aptmark showinstalls "$1" + testsuccess aptmark hold "$1" + testsuccessequal "$1" aptmark showholds "$1" + testsuccess aptmark install "$1" + testsuccessequal "$1" aptmark showinstalls "$1" + testsuccess aptmark remove "$1" + testsuccessequal "$1" aptmark showremoves "$1" + testsuccess aptmark purge "$1" + testsuccessequal "$1" aptmark showpurges "$1" +} +testselections 'foo' +testselections 'bar' + +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + bar* foo* +0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded. +Purg bar [1] +Purg foo [1]' aptget dselect-upgrade -s + +testuninstalledselections() { + testsuccess aptmark hold "$1" + testsuccessequal "$1" aptmark showholds "$1" + testsuccess aptmark unhold "$1" + testsuccessequal "$1" aptmark showremoves "$1" + testsuccess aptmark hold "$1" + testsuccessequal "$1" aptmark showholds "$1" + testsuccess aptmark install "$1" + testsuccessequal "$1" aptmark showinstalls "$1" +} +testuninstalledselections 'uninstalled' +testuninstalledselections 'uninstalled-native'