]> git.saurik.com Git - apt.git/blobdiff - test/integration/test-apt-cli-list
pass --force-remove-essential to dpkg only if needed
[apt.git] / test / integration / test-apt-cli-list
index 8d5df90510d7b11801f3dbdda0701e66c5779c87..ca6f86661630b262360794833d4fa8213694535b 100755 (executable)
@@ -1,8 +1,8 @@
 #!/bin/sh
 set -e
 
-TESTDIR=$(readlink -f $(dirname $0))
-. $TESTDIR/framework
+TESTDIR="$(readlink -f "$(dirname "$0")")"
+. "$TESTDIR/framework"
 
 setupenvironment
 configarchitecture "i386"
@@ -13,35 +13,60 @@ insertinstalledpackage 'bar' 'i386' '1.0'
 insertinstalledpackage 'foobar' 'i386' '1.0'
 insertpackage 'unstable' 'foobar' 'i386' '2.0'
 
-setupaptarchive
+insertinstalledpackage 'baz' 'all' '0.1'
+insertpackage 'testing' 'baz' 'all' '1.0'
+insertpackage 'unstable' 'baz' 'all' '2.0'
 
-APTARCHIVE=$(readlink -f ./aptarchive)
+setupaptarchive
 
-testequal "Listing...
-bar/now 1.0 [installed,local] i386
+testsuccessequal "Listing...
+bar/now 1.0 i386 [installed,local]
+baz/unstable 2.0 all [upgradable from: 0.1]
 foo/unstable 1.0 all
-foobar/unstable 2.0 [upgradable from: 1.0] i386" apt list
+foobar/unstable 2.0 i386 [upgradable from: 1.0]" apt list
 
-testequal "Listing...
+testsuccessequal "Listing...
 foo/unstable 1.0 all
-foobar/unstable 2.0 [upgradable from: 1.0] i386" apt list "foo*"
+foobar/unstable 2.0 i386 [upgradable from: 1.0]" apt list "foo*"
 
-testequal "Listing...
-foobar/unstable 2.0 [upgradable from: 1.0] i386" apt list --upgradable
+testsuccessequal "Listing...
+baz/unstable 2.0 all [upgradable from: 0.1]
+foobar/unstable 2.0 i386 [upgradable from: 1.0]" apt list --upgradable
 
 # FIXME: hm, hm - does it make sense to have this different? shouldn't
 #        we use "installed,upgradable" consitently?
-testequal "Listing...
-bar/now 1.0 [installed,local] i386
-foobar/now 1.0 [installed,upgradable to: 2.0] i386" apt list --installed
+testsuccessequal "Listing...
+bar/now 1.0 i386 [installed,local]
+baz/now 0.1 all [installed,upgradable to: 2.0]
+foobar/now 1.0 i386 [installed,upgradable to: 2.0]" apt list --installed
+
+testsuccessequal "Listing...
+bar/now 1.0 i386 [installed,local]
 
-testequal "Listing...
-foobar/unstable 2.0 [upgradable from: 1.0] i386
-foobar/now 1.0 [installed,upgradable to: 2.0] i386
-" apt list foobar --all-versions
+foobar/unstable 2.0 i386 [upgradable from: 1.0]
+foobar/now 1.0 i386 [installed,upgradable to: 2.0]
+" apt list bar foobar --all-versions
 
-testequal "Listing...
-bar/now 1.0 [installed,local] i386
+testsuccessequal "Listing...
+bar/now 1.0 i386 [installed,local]
   an autogenerated dummy bar=1.0/installed
 " apt list bar --verbose
 
+# test for dpkg ^rc state
+insertinstalledpackage 'conf-only' 'i386' '1.0' '' '' 'deinstall ok config-files'
+testsuccessequal "Listing...
+conf-only/now 1.0 i386 [residual-config]" apt list conf-only
+
+# ensure that the users learns about multiple versions too
+testsuccessequal "Listing...
+baz/unstable 2.0 all [upgradable from: 0.1]
+N: There are 2 additional versions. Please use the '-a' switch to see them." apt list baz -o quiet=0
+testsuccessequal 'Listing...
+baz/unstable 2.0 all [upgradable from: 0.1]
+baz/testing 1.0 all
+baz/now 0.1 all [installed,upgradable to: 2.0]
+' apt list baz -o quiet=0 -a
+
+# test format strings for machine parseable output
+testsuccessequal 'bar - 1.0 - 1.0
+baz - 0.1 - 2.0' apt list -qq bar baz  -o APT::Cmd::use-format=true  -o APT::Cmd::format="\${Package} - \${installed:Version} - \${candidate:Version}"