mirror of
https://github.com/aphrody-labs/apt.git
synced 2026-10-14 06:09:01 +00:00
We needed a fake dpkg in our status file for dpkg --assert-multi-arch to work in the past, but recent dpkg versions do not require this anymore, so we can remove this somewhat surprising hackery in favour of better hidden hackery we only use if we work with an older dpkg (e.g. on current Debian stable).
184 lines
5.1 KiB
Bash
Executable File
184 lines
5.1 KiB
Bash
Executable File
#!/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
|
|
|
|
insertinstalledpackage 'awesome' 'all' '1'
|
|
testdpkginstalled 'awesome'
|
|
testempty aptcache unmet awesome
|
|
|
|
# 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
|
|
awesome
|
|
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
|