]>
Commit | Line | Data |
---|---|---|
1 | #!/bin/sh | |
2 | set -e | |
3 | ||
4 | TESTDIR=$(readlink -f $(dirname $0)) | |
5 | . $TESTDIR/framework | |
6 | ||
7 | setupenvironment | |
8 | configarchitecture 'amd64' 'i386' | |
9 | ||
10 | DESCR='Some description | |
11 | That has multiple lines' | |
12 | insertpackage 'unstable' 'fancy' 'all' '1' | |
13 | insertpackage 'unstable,installed' 'foo' 'all' '1' 'Depends: bar | |
14 | Conflicts: foobar | |
15 | Recommends: cool (>= 2) | cooler (<< 5)' "$DESCR" | |
16 | insertpackage 'unstable' 'bar' 'all' '1' 'Depends: bar | |
17 | Breaks: foo (<< 1) | |
18 | Replaces: foo (<< 1)' "$DESCR" | |
19 | insertpackage 'unstable' 'specific' 'all' '1' 'Depends: bar:i386, specific:amd64 | |
20 | Breaks: foo:amd64 (<< 1) | |
21 | Replaces: foo:i386 (<< 1)' "$DESCR" | |
22 | ||
23 | setupaptarchive | |
24 | ||
25 | # dpkg is installed by our framework | |
26 | testdpkginstalled 'dpkg' | |
27 | testempty aptcache unmet dpkg | |
28 | ||
29 | # FIXME: Find some usecase for unmet as it seems kinda useless/broken | |
30 | #testsuccess aptcache unmet | |
31 | #testsuccess aptcache unmet foo | |
32 | ||
33 | # not too useful to test, but makes coverage green… | |
34 | testsuccess aptcache stats | |
35 | cp rootdir/tmp/testsuccess.output stats.output | |
36 | testsuccess test -s stats.output | |
37 | testfailureequal 'E: apt-cache stats does not take any arguments' aptcache stats foo | |
38 | testsuccess aptcache xvcg foo | |
39 | cp rootdir/tmp/testsuccess.output xvcg.output | |
40 | testsuccess test -s xvcg.output | |
41 | testsuccess aptcache dotty foo | |
42 | cp rootdir/tmp/testsuccess.output dotty.output | |
43 | testsuccess test -s dotty.output | |
44 | # for this, even the sourcecode says it is useless (expect debugging) | |
45 | testsuccess aptcache dump | |
46 | cp rootdir/tmp/testsuccess.output dump.output | |
47 | testsuccess test -s dump.output | |
48 | ||
49 | testsuccessequal 'dpkg | |
50 | bar | |
51 | specific | |
52 | fancy | |
53 | foo' aptcache pkgnames | |
54 | testsuccessequal 'bar' aptcache pkgnames bar | |
55 | testsuccessequal 'fancy | |
56 | foo' aptcache pkgnames f | |
57 | ||
58 | testsuccessequal " foo | 1 | file:$(readlink -f .)/aptarchive unstable/main amd64 Packages | |
59 | foo | 1 | file:$(readlink -f .)/aptarchive unstable/main i386 Packages" aptcache madison foo | |
60 | ||
61 | ### depends | |
62 | ||
63 | testsuccessequal 'foo | |
64 | Depends: bar | |
65 | Conflicts: <foobar> | |
66 | |Recommends: <cool> | |
67 | Recommends: <cooler>' aptcache depends foo | |
68 | testsuccessequal 'foo | |
69 | Depends: bar | |
70 | Conflicts: <foobar> | |
71 | |Recommends: <cool> | |
72 | Recommends: <cooler>' aptcache depends foo --implicit | |
73 | testsuccessequal 'foo | |
74 | Depends: bar | |
75 | Conflicts: <foobar> | |
76 | Recommends: <cool>' aptcache depends foo -o APT::Cache::ShowOnlyFirstOr=1 | |
77 | testsuccessequal 'foo | |
78 | Depends: bar | |
79 | Conflicts: <foobar> | |
80 | Recommends: <cool>' aptcache depends foo -o APT::Cache::ShowOnlyFirstOr=1 --implicit | |
81 | testsuccessequal 'foo | |
82 | Depends: bar | |
83 | Conflicts: <foobar> | |
84 | |Recommends: <cool> (>= 2) | |
85 | Recommends: <cooler> (<< 5)' aptcache depends foo -o APT::Cache::ShowVersion=1 | |
86 | testsuccessequal 'foo | |
87 | Depends: bar | |
88 | Conflicts: <foobar> | |
89 | |Recommends: <cool> (>= 2) | |
90 | Recommends: <cooler> (<< 5)' aptcache depends foo -o APT::Cache::ShowVersion=1 --implicit | |
91 | testsuccessequal 'foo | |
92 | Depends: bar | |
93 | Conflicts: <foobar>' aptcache depends foo --no-recommends | |
94 | testsuccessequal 'foo | |
95 | Depends: bar | |
96 | Conflicts: <foobar>' aptcache depends foo --no-recommends --implicit | |
97 | testsuccessequal 'foo | |
98 | Depends: bar' aptcache depends foo --important --implicit | |
99 | testsuccessequal 'foo | |
100 | Conflicts: <foobar>' aptcache depends foo --important --no-depends --conflicts | |
101 | testsuccessequal 'foo | |
102 | Conflicts: <foobar>' aptcache depends foo --important --no-depends --conflicts --implicit | |
103 | testsuccessequal 'foo | |
104 | Depends: bar | |
105 | Conflicts: <foobar> | |
106 | |Recommends: <cool> | |
107 | Recommends: <cooler> | |
108 | bar | |
109 | Depends: bar | |
110 | Breaks: foo | |
111 | Replaces: foo | |
112 | <foobar> | |
113 | <cool> | |
114 | <cooler>' aptcache depends foo --recurse | |
115 | testsuccessequal 'foo | |
116 | Depends: bar | |
117 | Conflicts: <foobar> | |
118 | |Recommends: <cool> | |
119 | Recommends: <cooler> | |
120 | bar | |
121 | Depends: bar | |
122 | Breaks: foo | |
123 | Replaces: foo | |
124 | <foobar> | |
125 | <cool> | |
126 | <cooler>' aptcache depends foo --recurse --implicit | |
127 | testsuccessequal 'foo | |
128 | Depends: bar | |
129 | bar | |
130 | Depends: bar | |
131 | Replaces: foo' aptcache depends foo --recurse --important --replaces | |
132 | testsuccessequal 'foo | |
133 | Depends: bar | |
134 | bar | |
135 | Depends: bar | |
136 | Replaces: foo' aptcache depends foo --recurse --important --replaces --implicit | |
137 | testsuccessequal 'bar | |
138 | Depends: bar | |
139 | Breaks: foo | |
140 | Replaces: foo' aptcache depends bar | |
141 | testsuccessequal 'bar | |
142 | Depends: bar | |
143 | Breaks: foo | |
144 | Replaces: foo' aptcache depends bar --implicit | |
145 | ||
146 | testsuccessequal 'specific | |
147 | Depends: <bar:i386> | |
148 | Depends: <specific:amd64> | |
149 | specific | |
150 | Breaks: <foo:amd64> | |
151 | Replaces: <foo:i386>' aptcache depends specific | |
152 | testsuccessequal 'specific | |
153 | Depends: <bar:i386> | |
154 | Depends: <specific:amd64> | |
155 | specific | |
156 | Breaks: <foo:amd64> | |
157 | Replaces: <foo:i386>' aptcache depends specific --implicit | |
158 | ||
159 | ## rdepends | |
160 | ||
161 | # Note that specific does not appear in this list as it doesn't depend on foo, | |
162 | # but on an arch-specific foo! | |
163 | testsuccessequal 'foo | |
164 | Reverse Depends: | |
165 | bar | |
166 | bar' aptcache rdepends foo | |
167 | testsuccessequal 'foo | |
168 | Reverse Depends: | |
169 | Breaks: bar | |
170 | Replaces: bar' aptcache rdepends foo -o APT::Cache::ShowDependencyType=1 | |
171 | testsuccessequal 'foo | |
172 | Reverse Depends: | |
173 | Breaks: bar (<< 1) | |
174 | Replaces: bar (<< 1)' aptcache rdepends foo -o APT::Cache::ShowDependencyType=1 -o APT::Cache::ShowVersion=1 | |
175 | testsuccessequal 'foo | |
176 | Reverse Depends: | |
177 | Breaks: bar (<< 1)' aptcache rdepends foo -o APT::Cache::ShowDependencyType=1 -o APT::Cache::ShowVersion=1 --important --breaks |