test-apt-cache 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. #!/bin/sh
  2. set -e
  3. TESTDIR=$(readlink -f $(dirname $0))
  4. . $TESTDIR/framework
  5. setupenvironment
  6. configarchitecture 'amd64' 'i386'
  7. DESCR='Some description
  8. That has multiple lines'
  9. insertpackage 'unstable' 'fancy' 'all' '1'
  10. insertpackage 'unstable,installed' 'foo' 'all' '1' 'Depends: bar
  11. Conflicts: foobar
  12. Recommends: cool (>= 2) | cooler (<< 5)' "$DESCR"
  13. insertpackage 'unstable' 'bar' 'all' '1' 'Depends: bar
  14. Breaks: foo (<< 1)
  15. Replaces: foo (<< 1)' "$DESCR"
  16. setupaptarchive
  17. # dpkg is installed by our framework
  18. testdpkginstalled 'dpkg'
  19. testempty aptcache unmet dpkg
  20. # FIXME: Find some usecase for unmet as it seems kinda useless/broken
  21. #testsuccess aptcache unmet
  22. #testsuccess aptcache unmet foo
  23. # not too useful to test, but makes coverage green…
  24. testsuccess aptcache stats
  25. cp rootdir/tmp/testsuccess.output stats.output
  26. testsuccess test -s stats.output
  27. testsuccess aptcache xvcg foo
  28. cp rootdir/tmp/testsuccess.output xvcg.output
  29. testsuccess test -s xvcg.output
  30. testsuccess aptcache dotty foo
  31. cp rootdir/tmp/testsuccess.output dotty.output
  32. testsuccess test -s dotty.output
  33. # for this, even the sourcecode says it is useless (expect debugging)
  34. testsuccess aptcache dump
  35. cp rootdir/tmp/testsuccess.output dump.output
  36. testsuccess test -s dump.output
  37. testsuccessequal 'dpkg
  38. bar
  39. fancy
  40. foo' aptcache pkgnames
  41. testsuccessequal 'bar' aptcache pkgnames bar
  42. testsuccessequal 'fancy
  43. foo' aptcache pkgnames f
  44. testsuccessequal " foo | 1 | file:$(readlink -f .)/aptarchive/ unstable/main amd64 Packages" aptcache madison foo
  45. ### depends
  46. testsuccessequal 'foo
  47. Depends: bar
  48. |Recommends: <cool>
  49. Recommends: <cooler>
  50. Conflicts: <foobar>
  51. Conflicts: <foobar:i386>' aptcache depends foo
  52. testsuccessequal 'foo
  53. Depends: bar
  54. Recommends: <cool>
  55. Conflicts: <foobar>
  56. Conflicts: <foobar:i386>' aptcache depends foo -o APT::Cache::ShowOnlyFirstOr=1
  57. testsuccessequal 'foo
  58. Depends: bar
  59. |Recommends: <cool> (>= 2)
  60. Recommends: <cooler> (<< 5)
  61. Conflicts: <foobar>
  62. Conflicts: <foobar:i386>' aptcache depends foo -o APT::Cache::ShowVersion=1
  63. testsuccessequal 'foo
  64. Depends: bar
  65. Conflicts: <foobar>
  66. Conflicts: <foobar:i386>' aptcache depends foo --no-recommends
  67. testsuccessequal 'foo
  68. Depends: bar' aptcache depends foo --important
  69. testsuccessequal 'foo
  70. Conflicts: <foobar>
  71. Conflicts: <foobar:i386>' aptcache depends foo --important --no-depends --conflicts
  72. testsuccessequal 'foo
  73. Depends: bar
  74. |Recommends: <cool>
  75. Recommends: <cooler>
  76. Conflicts: <foobar>
  77. Conflicts: <foobar:i386>
  78. bar
  79. Depends: bar
  80. Breaks: foo
  81. Breaks: <foo:i386>
  82. Replaces: foo
  83. Replaces: <foo:i386>
  84. <cool>
  85. <cooler>
  86. <foobar>
  87. <foobar:i386>
  88. <foo:i386>' aptcache depends foo --recurse
  89. testsuccessequal 'foo
  90. Depends: bar
  91. bar
  92. Depends: bar
  93. Replaces: foo
  94. Replaces: <foo:i386>
  95. <foo:i386>' aptcache depends foo --recurse --important --replaces
  96. ## rdpends
  97. testsuccessequal 'foo
  98. Reverse Depends:
  99. bar
  100. bar' aptcache rdepends foo
  101. testsuccessequal 'foo
  102. Reverse Depends:
  103. Replaces: bar
  104. Breaks: bar' aptcache rdepends foo -o APT::Cache::ShowDependencyType=1
  105. testsuccessequal 'foo
  106. Reverse Depends:
  107. Replaces: bar (<< 1)
  108. Breaks: bar (<< 1)' aptcache rdepends foo -o APT::Cache::ShowDependencyType=1 -o APT::Cache::ShowVersion=1
  109. testsuccessequal 'foo
  110. Reverse Depends:
  111. Breaks: bar (<< 1)' aptcache rdepends foo -o APT::Cache::ShowDependencyType=1 -o APT::Cache::ShowVersion=1 --important --breaks