123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- #!/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
- # dpkg is "installed" by our test framework
- testdpkginstalled dpkg
- testnoautopkg() {
- testempty aptmark showauto
- testempty aptcache -q=1 showauto
- testsuccessequal 'bar
- dpkg
- 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
- dpkg' 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"
- testempty aptmark showhold dpkg
- testempty aptmark showholds dpkg
- }
- 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: 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'
|