]> git.saurik.com Git - apt.git/blobdiff - test/integration/test-apt-cache
various changes to increase test-coverage
[apt.git] / test / integration / test-apt-cache
index 7da2ab71ffd56c9351383f29985d45a6d4712d8f..c254aa602dc6c20e2a01aac1cd18763af067129d 100755 (executable)
@@ -16,6 +16,9 @@ Recommends: cool (>= 2) | cooler (<< 5)' "$DESCR"
 insertpackage 'unstable' 'bar' 'all' '1' 'Depends: bar
 Breaks: foo (<< 1)
 Replaces: foo (<< 1)' "$DESCR"
+insertpackage 'unstable' 'specific' 'all' '1' 'Depends: bar:i386, specific:amd64
+Breaks: foo:amd64 (<< 1)
+Replaces: foo:i386 (<< 1)' "$DESCR"
 
 setupaptarchive
 
@@ -31,6 +34,7 @@ testempty aptcache unmet dpkg
 testsuccess aptcache stats
 cp rootdir/tmp/testsuccess.output stats.output
 testsuccess test -s stats.output
+testfailureequal 'E: apt-cache stats does not take any arguments' aptcache stats foo
 testsuccess aptcache xvcg foo
 cp rootdir/tmp/testsuccess.output xvcg.output
 testsuccess test -s xvcg.output
@@ -44,81 +48,130 @@ testsuccess test -s dump.output
 
 testsuccessequal 'dpkg
 bar
+specific
 fancy
 foo' aptcache pkgnames
 testsuccessequal 'bar' aptcache pkgnames bar
 testsuccessequal 'fancy
 foo' aptcache pkgnames f
 
-testsuccessequal "       foo |          1 | file:$(readlink -f .)/aptarchive unstable/main amd64 Packages" aptcache madison foo
+testsuccessequal "       foo |          1 | file:$(readlink -f .)/aptarchive unstable/main amd64 Packages
+       foo |          1 | file:$(readlink -f .)/aptarchive unstable/main i386 Packages" aptcache madison foo
 
 ### depends
 
 testsuccessequal 'foo
   Depends: bar
   Conflicts: <foobar>
-  Conflicts: <foobar:i386>
  |Recommends: <cool>
   Recommends: <cooler>' aptcache depends foo
 testsuccessequal 'foo
   Depends: bar
   Conflicts: <foobar>
-  Conflicts: <foobar:i386>
+ |Recommends: <cool>
+  Recommends: <cooler>' aptcache depends foo --implicit
+testsuccessequal 'foo
+  Depends: bar
+  Conflicts: <foobar>
   Recommends: <cool>' aptcache depends foo -o APT::Cache::ShowOnlyFirstOr=1
 testsuccessequal 'foo
   Depends: bar
   Conflicts: <foobar>
-  Conflicts: <foobar:i386>
+  Recommends: <cool>' aptcache depends foo -o APT::Cache::ShowOnlyFirstOr=1 --implicit
+testsuccessequal 'foo
+  Depends: bar
+  Conflicts: <foobar>
  |Recommends: <cool> (>= 2)
   Recommends: <cooler> (<< 5)' aptcache depends foo -o APT::Cache::ShowVersion=1
 testsuccessequal 'foo
   Depends: bar
   Conflicts: <foobar>
-  Conflicts: <foobar:i386>' aptcache depends foo --no-recommends
+ |Recommends: <cool> (>= 2)
+  Recommends: <cooler> (<< 5)' aptcache depends foo -o APT::Cache::ShowVersion=1 --implicit
 testsuccessequal 'foo
-  Depends: bar' aptcache depends foo --important
+  Depends: bar
+  Conflicts: <foobar>' aptcache depends foo --no-recommends
 testsuccessequal 'foo
-  Conflicts: <foobar>
-  Conflicts: <foobar:i386>' aptcache depends foo --important --no-depends --conflicts
+  Depends: bar
+  Conflicts: <foobar>' aptcache depends foo --no-recommends --implicit
+testsuccessequal 'foo
+  Depends: bar' aptcache depends foo --important --implicit
+testsuccessequal 'foo
+  Conflicts: <foobar>' aptcache depends foo --important --no-depends --conflicts
+testsuccessequal 'foo
+  Conflicts: <foobar>' aptcache depends foo --important --no-depends --conflicts --implicit
 testsuccessequal 'foo
   Depends: bar
   Conflicts: <foobar>
-  Conflicts: <foobar:i386>
  |Recommends: <cool>
   Recommends: <cooler>
 bar
   Depends: bar
   Breaks: foo
-  Breaks: <foo:i386>
   Replaces: foo
-  Replaces: <foo:i386>
 <foobar>
-<foobar:i386>
 <cool>
-<cooler>
-<foo:i386>' aptcache depends foo --recurse
+<cooler>' aptcache depends foo --recurse
 testsuccessequal 'foo
   Depends: bar
+  Conflicts: <foobar>
+ |Recommends: <cool>
+  Recommends: <cooler>
 bar
   Depends: bar
+  Breaks: foo
   Replaces: foo
-  Replaces: <foo:i386>
-<foo:i386>' aptcache depends foo --recurse --important --replaces
+<foobar>
+<cool>
+<cooler>' aptcache depends foo --recurse --implicit
+testsuccessequal 'foo
+  Depends: bar
+bar
+  Depends: bar
+  Replaces: foo' aptcache depends foo --recurse --important --replaces
+testsuccessequal 'foo
+  Depends: bar
+bar
+  Depends: bar
+  Replaces: foo' aptcache depends foo --recurse --important --replaces --implicit
+testsuccessequal 'bar
+  Depends: bar
+  Breaks: foo
+  Replaces: foo' aptcache depends bar
+testsuccessequal 'bar
+  Depends: bar
+  Breaks: foo
+  Replaces: foo' aptcache depends bar --implicit
+
+testsuccessequal 'specific
+  Depends: <bar:i386>
+  Depends: <specific:amd64>
+    specific
+  Breaks: <foo:amd64>
+  Replaces: <foo:i386>' aptcache depends specific
+testsuccessequal 'specific
+  Depends: <bar:i386>
+  Depends: <specific:amd64>
+    specific
+  Breaks: <foo:amd64>
+  Replaces: <foo:i386>' aptcache depends specific --implicit
 
-## rdpends
+## rdepends
 
+# Note that specific does not appear in this list as it doesn't depend on foo,
+# but on an arch-specific foo!
 testsuccessequal 'foo
 Reverse Depends:
   bar
   bar' aptcache rdepends foo
 testsuccessequal 'foo
 Reverse Depends:
-  Replaces: bar
-  Breaks: bar' aptcache rdepends foo -o APT::Cache::ShowDependencyType=1
+  Breaks: bar
+  Replaces: bar' aptcache rdepends foo -o APT::Cache::ShowDependencyType=1
 testsuccessequal 'foo
 Reverse Depends:
-  Replaces: bar (<< 1)
-  Breaks: bar (<< 1)' aptcache rdepends foo -o APT::Cache::ShowDependencyType=1 -o APT::Cache::ShowVersion=1
+  Breaks: bar (<< 1)
+  Replaces: bar (<< 1)' aptcache rdepends foo -o APT::Cache::ShowDependencyType=1 -o APT::Cache::ShowVersion=1
 testsuccessequal 'foo
 Reverse Depends:
   Breaks: bar (<< 1)' aptcache rdepends foo -o APT::Cache::ShowDependencyType=1 -o APT::Cache::ShowVersion=1 --important --breaks