]> git.saurik.com Git - apt.git/blobdiff - test/integration/test-apt-cli-list
test/integration/test-apt-update-file: improve test
[apt.git] / test / integration / test-apt-cli-list
index 8d5df90510d7b11801f3dbdda0701e66c5779c87..1487afd5505c3931a8f8e108726b5017a206c0fd 100755 (executable)
@@ -7,41 +7,70 @@ 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)
 
 testequal "Listing...
 setupaptarchive
 
 APTARCHIVE=$(readlink -f ./aptarchive)
 
 testequal "Listing...
-bar/now 1.0 [installed,local] i386
+bar/now 1.0 i386 [installed,local]
+baz/unstable 2.0 all [upgradable from: 0.1]
 foo/unstable 1.0 all
 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...
 foo/unstable 1.0 all
 
 testequal "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...
 
 testequal "Listing...
-foobar/unstable 2.0 [upgradable from: 1.0] i386" apt list --upgradable
+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...
 
 # 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
+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
 
 testequal "Listing...
 
 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
+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]
+" apt list bar foobar --all-versions
 
 testequal "Listing...
 
 testequal "Listing...
-bar/now 1.0 [installed,local] i386
+bar/now 1.0 i386 [installed,local]
   an autogenerated dummy bar=1.0/installed
 " apt list bar --verbose
 
   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'
+testequal "Listing...
+conf-only/now 1.0 i386 [residual-config]" apt list conf-only
+
+# ensure that the users learns about multiple versions too
+testequal "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
+apt list -qq bar baz  -o APT::Cmd::use-format=true  -o APT::Cmd::format="\${Package} - \${installed:Version} - \${candidate:Version}" > output.txt
+testequal "bar - 1.0 - 1.0
+baz - 0.1 - 2.0" cat output.txt