118 def test_pkg_list_cli_opts(self): |
118 def test_pkg_list_cli_opts(self): |
119 |
119 |
120 self.pkg("list -@", exit=2) |
120 self.pkg("list -@", exit=2) |
121 self.pkg("list -v -s", exit=2) |
121 self.pkg("list -v -s", exit=2) |
122 |
122 |
|
123 def test_list_00(self): |
|
124 """Verify that sort order and content of a full list matches |
|
125 expected.""" |
|
126 |
|
127 self.pkg("list -aH") |
|
128 expected = \ |
|
129 ("foo 1.2.1-0 known -----\n" |
|
130 "foo (test2) 1.2.1-0 known -----\n" |
|
131 "food 1.2-0 known -----\n" |
|
132 "food (test2) 1.2-0 known -----\n") |
|
133 output = self.reduceSpaces(self.output) |
|
134 self.assertEqualDiff(expected, output) |
|
135 |
|
136 self.pkg("list -afH") |
|
137 expected = \ |
|
138 ("foo 1.2.1-0 known -----\n" |
|
139 "foo 1.2-0 known u----\n" |
|
140 "foo 1.1-0 known u----\n" |
|
141 "foo 1.0-0 known u----\n" |
|
142 "foo 1-0 known u----\n" |
|
143 "foo (test2) 1.2.1-0 known -----\n" |
|
144 "foo (test2) 1.2-0 known u----\n" |
|
145 "foo (test2) 1.1-0 known u----\n" |
|
146 "foo (test2) 1.0-0 known u----\n" |
|
147 "foo (test2) 1-0 known u----\n" |
|
148 "food 1.2-0 known -----\n" |
|
149 "food (test2) 1.2-0 known -----\n") |
|
150 output = self.reduceSpaces(self.output) |
|
151 self.assertEqualDiff(expected, output) |
123 |
152 |
124 def test_list_01(self): |
153 def test_list_01(self): |
125 """List all "[email protected]" from auth "test1".""" |
154 """List all "[email protected]" from auth "test1".""" |
126 self.pkg("list -aH pkg://test1/[email protected],5.11-0") |
155 self.pkg("list -afH pkg://test1/[email protected],5.11-0") |
127 expected = \ |
156 expected = \ |
128 "foo 1.0-0 known u----\n" |
157 "foo 1.0-0 known u----\n" |
129 output = self.reduceSpaces(self.output) |
158 output = self.reduceSpaces(self.output) |
130 self.assertEqualDiff(expected, output) |
159 self.assertEqualDiff(expected, output) |
131 |
160 |
132 def test_list_02(self): |
161 def test_list_02(self): |
133 """List all "[email protected]", regardless of publisher, with "pkg:/" |
162 """List all "[email protected]", regardless of publisher, with "pkg:/" |
134 prefix.""" |
163 prefix.""" |
135 self.pkg("list -aH pkg:/[email protected],5.11-0") |
164 self.pkg("list -afH pkg:/[email protected],5.11-0") |
136 expected = \ |
165 expected = \ |
137 "foo 1.0-0 known u----\n" \ |
166 "foo 1.0-0 known u----\n" \ |
138 "foo (test2) 1.0-0 known u----\n" |
167 "foo (test2) 1.0-0 known u----\n" |
139 output = self.reduceSpaces(self.output) |
168 output = self.reduceSpaces(self.output) |
140 self.assertEqualDiff(expected, output) |
169 self.assertEqualDiff(expected, output) |
141 |
170 |
142 def test_list_03(self): |
171 def test_list_03(self): |
143 """List all "[email protected]", regardless of publisher, without "pkg:/" |
172 """List all "[email protected]", regardless of publisher, without "pkg:/" |
144 prefix.""" |
173 prefix.""" |
145 self.pkg("list -aH pkg:/[email protected],5.11-0") |
174 self.pkg("list -afH pkg:/[email protected],5.11-0") |
146 expected = \ |
175 expected = \ |
147 "foo 1.0-0 known u----\n" \ |
176 "foo 1.0-0 known u----\n" \ |
148 "foo (test2) 1.0-0 known u----\n" |
177 "foo (test2) 1.0-0 known u----\n" |
149 output = self.reduceSpaces(self.output) |
178 output = self.reduceSpaces(self.output) |
150 expected = self.reduceSpaces(expected) |
179 expected = self.reduceSpaces(expected) |
153 def test_list_04(self): |
182 def test_list_04(self): |
154 """List all versions of package foo, regardless of publisher.""" |
183 """List all versions of package foo, regardless of publisher.""" |
155 self.pkg("list -aHf foo") |
184 self.pkg("list -aHf foo") |
156 expected = \ |
185 expected = \ |
157 "foo 1.2.1-0 known -----\n" \ |
186 "foo 1.2.1-0 known -----\n" \ |
|
187 "foo 1.2-0 known u----\n" \ |
|
188 "foo 1.1-0 known u----\n" \ |
|
189 "foo 1.0-0 known u----\n" \ |
|
190 "foo 1-0 known u----\n" \ |
158 "foo (test2) 1.2.1-0 known -----\n" \ |
191 "foo (test2) 1.2.1-0 known -----\n" \ |
159 "foo 1.2-0 known u----\n" \ |
|
160 "foo (test2) 1.2-0 known u----\n" \ |
192 "foo (test2) 1.2-0 known u----\n" \ |
161 "foo 1.1-0 known u----\n" \ |
|
162 "foo (test2) 1.1-0 known u----\n" \ |
193 "foo (test2) 1.1-0 known u----\n" \ |
163 "foo 1.0-0 known u----\n" \ |
|
164 "foo (test2) 1.0-0 known u----\n" \ |
194 "foo (test2) 1.0-0 known u----\n" \ |
165 "foo 1-0 known u----\n" \ |
|
166 "foo (test2) 1-0 known u----\n" |
195 "foo (test2) 1-0 known u----\n" |
167 output = self.reduceSpaces(self.output) |
196 output = self.reduceSpaces(self.output) |
168 expected = self.reduceSpaces(expected) |
197 expected = self.reduceSpaces(expected) |
169 self.assertEqualDiff(expected, output) |
198 self.assertEqualDiff(expected, output) |
170 |
199 |
179 |
208 |
180 def test_list_05(self): |
209 def test_list_05(self): |
181 """Show [email protected] from both depots, but 1.1 only from test2.""" |
210 """Show [email protected] from both depots, but 1.1 only from test2.""" |
182 self.pkg("list -aHf [email protected] pkg://test2/[email protected]") |
211 self.pkg("list -aHf [email protected] pkg://test2/[email protected]") |
183 expected = \ |
212 expected = \ |
184 "foo (test2) 1.1-0 known u----\n" + \ |
213 "foo 1.0-0 known u----\n" \ |
185 "foo 1.0-0 known u----\n" + \ |
214 "foo (test2) 1.1-0 known u----\n" \ |
186 "foo (test2) 1.0-0 known u----\n" |
215 "foo (test2) 1.0-0 known u----\n" |
187 output = self.reduceSpaces(self.output) |
216 output = self.reduceSpaces(self.output) |
188 expected = self.reduceSpaces(expected) |
217 expected = self.reduceSpaces(expected) |
189 self.assertEqualDiff(expected, output) |
218 self.assertEqualDiff(expected, output) |
190 |
219 |
191 self.pkg("list -aH [email protected] pkg://test2/[email protected]") |
220 self.pkg("list -aHf [email protected] pkg://test2/[email protected]") |
192 expected = \ |
221 expected = \ |
193 "foo (test2) 1.1-0 known u----\n" + \ |
222 "foo 1.0-0 known u----\n" \ |
194 "foo 1.0-0 known u----\n" |
223 "foo (test2) 1.1-0 known u----\n" \ |
|
224 "foo (test2) 1.0-0 known u----\n" |
195 output = self.reduceSpaces(self.output) |
225 output = self.reduceSpaces(self.output) |
196 expected = self.reduceSpaces(expected) |
226 expected = self.reduceSpaces(expected) |
197 self.assertEqualDiff(expected, output) |
227 self.assertEqualDiff(expected, output) |
198 |
228 |
199 def test_list_06(self): |
229 def test_list_06(self): |
200 """Show versions 1.0 and 1.1 of foo only from publisher test2.""" |
230 """Show versions 1.0 and 1.1 of foo only from publisher test2.""" |
201 self.pkg("list -aHf pkg://test2/foo") |
231 self.pkg("list -aHf pkg://test2/foo") |
202 expected = \ |
232 expected = \ |
203 "foo (test2) 1.2.1-0 known -----\n" + \ |
233 "foo (test2) 1.2.1-0 known -----\n" \ |
204 "foo (test2) 1.2-0 known u----\n" + \ |
234 "foo (test2) 1.2-0 known u----\n" \ |
205 "foo (test2) 1.1-0 known u----\n" + \ |
235 "foo (test2) 1.1-0 known u----\n" \ |
206 "foo (test2) 1.0-0 known u----\n" + \ |
236 "foo (test2) 1.0-0 known u----\n" \ |
207 "foo (test2) 1-0 known u----\n" |
237 "foo (test2) 1-0 known u----\n" |
208 output = self.reduceSpaces(self.output) |
238 output = self.reduceSpaces(self.output) |
209 expected = self.reduceSpaces(expected) |
239 expected = self.reduceSpaces(expected) |
210 self.assertEqualDiff(expected, output) |
240 self.assertEqualDiff(expected, output) |
211 |
241 |
219 def test_list_07(self): |
249 def test_list_07(self): |
220 """List all foo@1 from test1, but all [email protected](.x), and only list |
250 """List all foo@1 from test1, but all [email protected](.x), and only list |
221 the latter once.""" |
251 the latter once.""" |
222 self.pkg("list -aHf pkg://test1/foo@1 pkg:/[email protected]") |
252 self.pkg("list -aHf pkg://test1/foo@1 pkg:/[email protected]") |
223 expected = \ |
253 expected = \ |
224 "foo 1.2.1-0 known -----\n" + \ |
254 "foo 1.2.1-0 known -----\n" \ |
225 "foo (test2) 1.2.1-0 known -----\n" + \ |
255 "foo 1.2-0 known u----\n" \ |
226 "foo 1.2-0 known u----\n" + \ |
256 "foo 1.1-0 known u----\n" \ |
227 "foo (test2) 1.2-0 known u----\n" + \ |
257 "foo 1.0-0 known u----\n" \ |
228 "foo 1.1-0 known u----\n" + \ |
258 "foo 1-0 known u----\n" \ |
229 "foo 1.0-0 known u----\n" + \ |
259 "foo (test2) 1.2.1-0 known -----\n" \ |
230 "foo 1-0 known u----\n" |
260 "foo (test2) 1.2-0 known u----\n" |
231 output = self.reduceSpaces(self.output) |
261 output = self.reduceSpaces(self.output) |
232 expected = self.reduceSpaces(expected) |
262 expected = self.reduceSpaces(expected) |
233 self.assertEqualDiff(expected, output) |
263 self.assertEqualDiff(expected, output) |
234 |
264 |
235 self.pkg("list -aH pkg://test1/foo@1 pkg:/[email protected]") |
265 self.pkg("list -aH pkg://test1/foo@1 pkg:/[email protected]") |
255 |
285 |
256 # Change the origin of the publisher of an installed package to |
286 # Change the origin of the publisher of an installed package to |
257 # that of an empty repository. The package should still be |
287 # that of an empty repository. The package should still be |
258 # shown as known for test1 and installed for test2. |
288 # shown as known for test1 and installed for test2. |
259 self.pkg("set-publisher -O %s test2" % durl3) |
289 self.pkg("set-publisher -O %s test2" % durl3) |
260 self.pkg("list -aH [email protected]") |
290 self.pkg("list -aHf [email protected]") |
261 expected = \ |
291 expected = \ |
262 "foo 1.0-0 known u----\n" + \ |
292 "foo 1.0-0 known u----\n" + \ |
263 "foo (test2) 1.0-0 installed u----\n" |
293 "foo (test2) 1.0-0 installed u----\n" |
264 output = self.reduceSpaces(self.output) |
294 output = self.reduceSpaces(self.output) |
265 self.assertEqualDiff(expected, output) |
295 self.assertEqualDiff(expected, output) |
269 # publisher back, but with an empty repository. The package |
299 # publisher back, but with an empty repository. The package |
270 # should still be shown as known for test1 and installed |
300 # should still be shown as known for test1 and installed |
271 # for test2. |
301 # for test2. |
272 self.pkg("unset-publisher test2") |
302 self.pkg("unset-publisher test2") |
273 self.pkg("set-publisher -O %s test2" % durl3) |
303 self.pkg("set-publisher -O %s test2" % durl3) |
274 self.pkg("list -aH [email protected]") |
304 self.pkg("list -aHf [email protected]") |
275 expected = \ |
305 expected = \ |
276 "foo 1.0-0 known u----\n" + \ |
306 "foo 1.0-0 known u----\n" + \ |
277 "foo (test2) 1.0-0 installed u----\n" |
307 "foo (test2) 1.0-0 installed u----\n" |
278 output = self.reduceSpaces(self.output) |
308 output = self.reduceSpaces(self.output) |
279 self.assertEqualDiff(expected, output) |
309 self.assertEqualDiff(expected, output) |
284 # installed from. The pkg should be shown as known for test1, |
314 # installed from. The pkg should be shown as known for test1, |
285 # installed for test2, and test3 shouldn't be listed since the |
315 # installed for test2, and test3 shouldn't be listed since the |
286 # packages in the specified repository are for publisher test2. |
316 # packages in the specified repository are for publisher test2. |
287 self.pkg("unset-publisher test2") |
317 self.pkg("unset-publisher test2") |
288 self.pkg("set-publisher -O %s test3" % durl2) |
318 self.pkg("set-publisher -O %s test3" % durl2) |
289 self.pkg("list -aH [email protected]") |
319 self.pkg("list -aHf [email protected]") |
290 expected = \ |
320 expected = \ |
291 "foo 1.0-0 known u----\n" + \ |
321 "foo 1.0-0 known u----\n" + \ |
292 "foo (test2) 1.0-0 installed u----\n" |
322 "foo (test2) 1.0-0 installed u----\n" |
293 output = self.reduceSpaces(self.output) |
323 output = self.reduceSpaces(self.output) |
294 self.assertEqualDiff(expected, output) |
324 self.assertEqualDiff(expected, output) |
365 def test_list_matching(self): |
395 def test_list_matching(self): |
366 """List all versions of package foo, regardless of publisher.""" |
396 """List all versions of package foo, regardless of publisher.""" |
367 self.pkg("list -aHf foo*") |
397 self.pkg("list -aHf foo*") |
368 expected = \ |
398 expected = \ |
369 "foo 1.2.1-0 known -----\n" \ |
399 "foo 1.2.1-0 known -----\n" \ |
|
400 "foo 1.2-0 known u----\n" \ |
|
401 "foo 1.1-0 known u----\n" \ |
|
402 "foo 1.0-0 known u----\n" \ |
|
403 "foo 1-0 known u----\n" \ |
370 "foo (test2) 1.2.1-0 known -----\n" \ |
404 "foo (test2) 1.2.1-0 known -----\n" \ |
371 "foo 1.2-0 known u----\n" \ |
|
372 "foo (test2) 1.2-0 known u----\n" \ |
405 "foo (test2) 1.2-0 known u----\n" \ |
373 "foo 1.1-0 known u----\n" \ |
|
374 "foo (test2) 1.1-0 known u----\n" \ |
406 "foo (test2) 1.1-0 known u----\n" \ |
375 "foo 1.0-0 known u----\n" \ |
|
376 "foo (test2) 1.0-0 known u----\n" \ |
407 "foo (test2) 1.0-0 known u----\n" \ |
377 "foo 1-0 known u----\n" \ |
|
378 "foo (test2) 1-0 known u----\n" \ |
408 "foo (test2) 1-0 known u----\n" \ |
379 "food 1.2-0 known -----\n" \ |
409 "food 1.2-0 known -----\n" \ |
380 "food (test2) 1.2-0 known -----\n" |
410 "food (test2) 1.2-0 known -----\n" |
381 |
411 |
382 output = self.reduceSpaces(self.output) |
412 output = self.reduceSpaces(self.output) |
415 def test_list_multi_name(self): |
445 def test_list_multi_name(self): |
416 """Test for multiple name match listing.""" |
446 """Test for multiple name match listing.""" |
417 self.pkg("list -aHf foo*@1.2") |
447 self.pkg("list -aHf foo*@1.2") |
418 expected = \ |
448 expected = \ |
419 "foo 1.2.1-0 known -----\n" + \ |
449 "foo 1.2.1-0 known -----\n" + \ |
|
450 "foo 1.2-0 known u----\n" + \ |
420 "foo (test2) 1.2.1-0 known -----\n" + \ |
451 "foo (test2) 1.2.1-0 known -----\n" + \ |
421 "foo 1.2-0 known u----\n" + \ |
|
422 "foo (test2) 1.2-0 known u----\n" + \ |
452 "foo (test2) 1.2-0 known u----\n" + \ |
423 "food 1.2-0 known -----\n" + \ |
453 "food 1.2-0 known -----\n" + \ |
424 "food (test2) 1.2-0 known -----\n" |
454 "food (test2) 1.2-0 known -----\n" |
425 output = self.reduceSpaces(self.output) |
455 output = self.reduceSpaces(self.output) |
426 expected = self.reduceSpaces(expected) |
456 expected = self.reduceSpaces(expected) |