test-apt-cli-list 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #!/bin/sh
  2. set -e
  3. TESTDIR=$(readlink -f $(dirname $0))
  4. . $TESTDIR/framework
  5. setupenvironment
  6. configarchitecture "i386"
  7. if [ ! -x ${BUILDDIRECTORY}/apt ]; then
  8. msgmsg "No ${BUILDDIRECTORY}/apt"
  9. msgskip
  10. exit 0
  11. fi
  12. insertpackage 'unstable' 'foo' 'all' '1.0'
  13. insertinstalledpackage 'bar' 'i386' '1.0'
  14. insertinstalledpackage 'foobar' 'i386' '1.0'
  15. insertpackage 'unstable' 'foobar' 'i386' '2.0'
  16. insertinstalledpackage 'baz' 'all' '0.1'
  17. insertpackage 'testing' 'baz' 'all' '1.0'
  18. insertpackage 'unstable' 'baz' 'all' '2.0'
  19. setupaptarchive
  20. APTARCHIVE=$(readlink -f ./aptarchive)
  21. testequal "Listing...
  22. bar/now 1.0 i386 [installed,local]
  23. baz/unstable 2.0 all [upgradable from: 0.1]
  24. foo/unstable 1.0 all
  25. foobar/unstable 2.0 i386 [upgradable from: 1.0]" apt list
  26. testequal "Listing...
  27. foo/unstable 1.0 all
  28. foobar/unstable 2.0 i386 [upgradable from: 1.0]" apt list "foo*"
  29. testequal "Listing...
  30. baz/unstable 2.0 all [upgradable from: 0.1]
  31. foobar/unstable 2.0 i386 [upgradable from: 1.0]" apt list --upgradable
  32. # FIXME: hm, hm - does it make sense to have this different? shouldn't
  33. # we use "installed,upgradable" consitently?
  34. testequal "Listing...
  35. bar/now 1.0 i386 [installed,local]
  36. baz/now 0.1 all [installed,upgradable to: 2.0]
  37. foobar/now 1.0 i386 [installed,upgradable to: 2.0]" apt list --installed
  38. testequal "Listing...
  39. bar/now 1.0 i386 [installed,local]
  40. foobar/unstable 2.0 i386 [upgradable from: 1.0]
  41. foobar/now 1.0 i386 [installed,upgradable to: 2.0]
  42. " apt list bar foobar --all-versions
  43. testequal "Listing...
  44. bar/now 1.0 i386 [installed,local]
  45. an autogenerated dummy bar=1.0/installed
  46. " apt list bar --verbose
  47. # test for dpkg ^rc state
  48. insertinstalledpackage 'conf-only' 'i386' '1.0' '' '' 'deinstall ok config-files'
  49. testequal "Listing...
  50. conf-only/now 1.0 i386 [residual-config]" apt list conf-only
  51. # ensure that the users learns about multiple versions too
  52. testequal "Listing...
  53. baz/unstable 2.0 all [upgradable from: 0.1]
  54. N: There are 2 additional versions. Please use the '-a' switch to see them." apt list baz -o quiet=0
  55. # test format strings for machine parseable output
  56. apt list -qq bar baz -o APT::Cmd::use-format=true -o APT::Cmd::format="\${Package} - \${installed:Version} - \${candidate:Version}" > output.txt
  57. testequal "bar - 1.0 - 1.0
  58. baz - 0.1 - 2.0" cat output.txt