1
0
Fork 0
apt/test/integration/test-apt-mark
Daniel Baumann 6810ba718b
Adding upstream version 3.0.2.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-20 21:10:43 +02:00

158 lines
4.7 KiB
Bash
Executable file

#!/bin/sh
set -e
TESTDIR="$(readlink -f "$(dirname "$0")")"
. "$TESTDIR/framework"
setupenvironment
configarchitecture 'amd64' 'i386'
insertpackage 'unstable' 'bar' 'amd64,i386' '1'
insertpackage 'unstable' 'uninstalled' 'all' '1'
insertpackage 'unstable' 'uninstalled-native' 'amd64' '1'
insertinstalledpackage 'foo' 'all' '1'
insertinstalledpackage 'bar' 'amd64' '1'
setupaptarchive
testnoautopkg() {
testempty aptmark showauto
testempty aptcache -q=1 showauto
testsuccessequal 'bar
foo' aptmark showmanual
testsuccessequal 'bar
foo' aptmark showmanual bar foo uninstalled
}
testfooisauto() {
testsuccessequal 'foo' aptmark showauto
testsuccessequal 'foo' aptcache -q=1 showauto
testsuccessequal 'foo' aptmark showauto foo
testsuccessequal 'foo' aptcache -q=1 showauto foo
testsuccessequal 'bar' aptmark showmanual
testsuccessequal 'bar' aptmark showmanual bar
}
testmarkonpkgasauto() {
testsuccess $1 -q=1 $2 foo
testfooisauto
testsuccess $1 -q=1 $2 foo
testfooisauto
testsuccess $1 -q=1 $3 foo
testnoautopkg
testsuccess $1 -q=1 $3 foo
testnoautopkg
}
testfailureequal 'E: No packages found' aptmark auto
testfailureequal 'E: No packages found' aptmark manual
testnoautopkg
testmarkonpkgasauto 'aptmark' 'auto' 'manual'
testmarkonpkgasauto 'aptmark' 'markauto' 'unmarkauto'
testmarkonpkgasauto 'aptget' 'markauto' 'unmarkauto'
testnoholdpkg() {
testempty aptmark showhold
testempty aptmark showholds # typical "typo"
}
testpkgonhold() {
testsuccessequal "$1" aptmark showhold
testsuccessequal "$1" aptmark showholds
testsuccessequal "$1" aptmark showhold $1
testsuccessequal "$1" aptmark showholds $1
}
testmarkonepkgashold() {
testsuccess aptmark hold $1
testpkgonhold $1
testsuccess aptmark hold $1
testpkgonhold $1
testsuccess aptmark unhold $1
testnoholdpkg
testsuccess aptmark unhold $1
testnoholdpkg
}
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'
testsuccessequal 'uninstalled set on hold.' aptmark hold uninstalled
testsuccessequal 'uninstalled-native set on hold.' aptmark hold uninstalled-native
# FIXME: Remove old alternative answer for dpkg < 1.20.7 post bullseye release
testequalor2 '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 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])' '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'