]> git.saurik.com Git - apt.git/blobdiff - test/integration/test-apt-cli-list
sync TFRewrite*Order arrays with dpkg and dak
[apt.git] / test / integration / test-apt-cli-list
index 47507aeb8d065e506c21dc8a4fb21bbd82aff668..d3c44e1262406f5105dcb41308683916fa45bcdc 100755 (executable)
@@ -7,41 +7,69 @@ TESTDIR=$(readlink -f $(dirname $0))
 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'
 
+insertinstalledpackage 'baz' 'all' '0.1'
+insertpackage 'testing' 'baz' 'all' '1.0'
+insertpackage 'unstable' 'baz' 'all' '2.0'
+
 setupaptarchive
 
 APTARCHIVE=$(readlink -f ./aptarchive)
 
 setupaptarchive
 
 APTARCHIVE=$(readlink -f ./aptarchive)
 
-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
+
+# 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}"