123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- #!/bin/sh
- set -e
- TESTDIR="$(readlink -f "$(dirname "$0")")"
- . "$TESTDIR/framework"
- setupenvironment
- configarchitecture 'amd64' 'i386'
- DESCR='Some description
- That has multiple lines'
- insertpackage 'unstable' 'fancy' 'all' '1'
- insertpackage 'unstable,installed' 'foo' 'all' '1' 'Depends: bar
- Conflicts: foobar
- 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
- # dpkg is installed by our framework
- testdpkginstalled 'dpkg'
- testempty aptcache unmet dpkg
- # FIXME: Find some usecase for unmet as it seems kinda useless/broken
- #testsuccess aptcache unmet
- #testsuccess aptcache unmet foo
- # not too useful to test, but makes coverage green…
- 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
- testsuccess aptcache dotty foo
- cp rootdir/tmp/testsuccess.output dotty.output
- testsuccess test -s dotty.output
- # for this, even the sourcecode says it is useless (expect debugging)
- testsuccess aptcache dump
- cp rootdir/tmp/testsuccess.output dump.output
- testsuccess test -s dump.output
- testsuccessequal 'bar
- foo
- dpkg
- specific
- fancy' aptcache pkgnames
- testsuccessequal 'bar' aptcache pkgnames bar
- testsuccessequal 'foo
- fancy' aptcache pkgnames f
- testsuccessequal " foo | 1 | file:$(readlink -f .)/aptarchive unstable/main all Packages" aptcache madison foo
- ### depends
- testsuccessequal 'foo
- Depends: bar
- Conflicts: <foobar>
- |Recommends: <cool>
- Recommends: <cooler>' aptcache depends foo
- testsuccessequal 'foo
- Depends: bar
- Conflicts: <foobar>
- |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>
- 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>
- |Recommends: <cool> (>= 2)
- Recommends: <cooler> (<< 5)' aptcache depends foo -o APT::Cache::ShowVersion=1 --implicit
- testsuccessequal 'foo
- Depends: bar
- Conflicts: <foobar>' aptcache depends foo --no-recommends
- testsuccessequal 'foo
- 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>
- |Recommends: <cool>
- Recommends: <cooler>
- bar
- Depends: bar
- Breaks: foo
- Replaces: foo
- <foobar>
- <cool>
- <cooler>' aptcache depends foo --recurse
- testsuccessequal 'foo
- Depends: bar
- Conflicts: <foobar>
- |Recommends: <cool>
- Recommends: <cooler>
- bar
- Depends: bar
- Breaks: foo
- Replaces: foo
- Breaks: <foo:i386>
- Replaces: <foo:i386>
- <foobar>
- <cool>
- <cooler>
- <foo:i386>' 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
- Replaces: <foo:i386>
- <foo:i386>' 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
- Breaks: <foo:i386>
- Replaces: <foo:i386>' 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
- ## 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:
- Breaks: bar
- Replaces: bar' aptcache rdepends foo -o APT::Cache::ShowDependencyType=1
- testsuccessequal 'foo
- Reverse Depends:
- 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
|