]> git.saurik.com Git - apt.git/blobdiff - test/integration/test-apt-cli-list
protect only the latest same-source providers from autoremove
[apt.git] / test / integration / test-apt-cli-list
index 47cfb624ae8132b080c67483c883e3cff8c50708..ca6f86661630b262360794833d4fa8213694535b 100755 (executable)
@@ -1,53 +1,72 @@
 #!/bin/sh
 set -e
 
 #!/bin/sh
 set -e
 
-TESTDIR=$(readlink -f $(dirname $0))
-. $TESTDIR/framework
+TESTDIR="$(readlink -f "$(dirname "$0")")"
+. "$TESTDIR/framework"
 
 setupenvironment
 configarchitecture "i386"
 
 
 setupenvironment
 configarchitecture "i386"
 
-if [ ! -x ${BUILDDIRECTORY}/apt ]; then
-    msgmsg "No ${BUILDDIRECTORY}/apt"
-    msgskip 
-    exit 0
-fi
-
 insertpackage 'unstable' 'foo' 'all' '1.0'
 insertinstalledpackage 'bar' 'i386' '1.0'
 
 insertinstalledpackage 'foobar' 'i386' '1.0'
 insertpackage 'unstable' 'foobar' 'i386' '2.0'
 
 insertpackage 'unstable' 'foo' 'all' '1.0'
 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...
+testsuccessequal "Listing...
 bar/now 1.0 i386 [installed,local]
 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 i386 [upgradable from: 1.0]" apt list
 
 foo/unstable 1.0 all
 foobar/unstable 2.0 i386 [upgradable from: 1.0]" apt list
 
-testequal "Listing...
+testsuccessequal "Listing...
 foo/unstable 1.0 all
 foobar/unstable 2.0 i386 [upgradable from: 1.0]" apt list "foo*"
 
 foo/unstable 1.0 all
 foobar/unstable 2.0 i386 [upgradable from: 1.0]" apt list "foo*"
 
-testequal "Listing...
+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?
 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...
+testsuccessequal "Listing...
 bar/now 1.0 i386 [installed,local]
 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
 
 foobar/now 1.0 i386 [installed,upgradable to: 2.0]" apt list --installed
 
-testequal "Listing...
+testsuccessequal "Listing...
+bar/now 1.0 i386 [installed,local]
+
 foobar/unstable 2.0 i386 [upgradable from: 1.0]
 foobar/now 1.0 i386 [installed,upgradable to: 2.0]
 foobar/unstable 2.0 i386 [upgradable from: 1.0]
 foobar/now 1.0 i386 [installed,upgradable to: 2.0]
-" apt list foobar --all-versions
+" apt list bar foobar --all-versions
 
 
-testequal "Listing...
+testsuccessequal "Listing...
 bar/now 1.0 i386 [installed,local]
   an autogenerated dummy bar=1.0/installed
 " apt list bar --verbose
 
 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}"