author | Tim Foster <tim.s.foster@oracle.com> |
Fri, 22 Jun 2012 20:35:41 +1200 | |
changeset 2701 | 55bf0cb749ae |
parent 2690 | 11a8cae074e0 |
child 2712 | d5ec8c11512a |
permissions | -rw-r--r-- |
2320
b02a1adb7324
18222 pkg info --license can fail with "unknown publisher" when using -g (fix shebang)
Shawn Walker <shawn.walker@oracle.com>
parents:
2313
diff
changeset
|
1 |
#!/usr/bin/python |
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
2 |
# |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
3 |
# CDDL HEADER START |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
4 |
# |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
5 |
# The contents of this file are subject to the terms of the |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
6 |
# Common Development and Distribution License (the "License"). |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
7 |
# You may not use this file except in compliance with the License. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
8 |
# |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
9 |
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
10 |
# or http://www.opensolaris.org/os/licensing. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
11 |
# See the License for the specific language governing permissions |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
12 |
# and limitations under the License. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
13 |
# |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
14 |
# When distributing Covered Code, include this CDDL HEADER in each |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
15 |
# file and include the License file at usr/src/OPENSOLARIS.LICENSE. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
16 |
# If applicable, add the following below this CDDL HEADER, with the |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
17 |
# fields enclosed by brackets "[]" replaced with your own identifying |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
18 |
# information: Portions Copyright [yyyy] [name of copyright owner] |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
19 |
# |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
20 |
# CDDL HEADER END |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
21 |
# |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
22 |
|
2690
11a8cae074e0
7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2593
diff
changeset
|
23 |
# |
11a8cae074e0
7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2593
diff
changeset
|
24 |
# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. |
11a8cae074e0
7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2593
diff
changeset
|
25 |
# |
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
26 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
27 |
import testutils |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
28 |
if __name__ == "__main__": |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
29 |
testutils.setup_environment("../../../proto") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
30 |
import pkg5unittest |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
31 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
32 |
import os |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
33 |
import pkg.fmri as fmri |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
34 |
import pkg.portable as portable |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
35 |
import pkg.misc as misc |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
36 |
import pkg.p5p |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
37 |
import shutil |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
38 |
import stat |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
39 |
import tempfile |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
40 |
import unittest |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
41 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
42 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
43 |
class TestPkgTempSources(pkg5unittest.ManyDepotTestCase): |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
44 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
45 |
# Don't discard repository or setUp() every test. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
46 |
persistent_setup = True |
2272
d81ea073d050
3617 Testsuite should allow choice for base port to use
Brock Pytlik <brock.pytlik@oracle.com>
parents:
2219
diff
changeset
|
47 |
# Tests in this suite use the read only data directory. |
d81ea073d050
3617 Testsuite should allow choice for base port to use
Brock Pytlik <brock.pytlik@oracle.com>
parents:
2219
diff
changeset
|
48 |
need_ro_data = True |
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
49 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
50 |
foo_pkg = """ |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
51 |
open pkg://test/[email protected] |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
52 |
add set name=pkg.summary value="Example package foo." |
2339
aa5954c06b9d
16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2336
diff
changeset
|
53 |
add set name=variant.debug.foo value=true value=false |
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
54 |
add dir mode=0755 owner=root group=bin path=lib |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
55 |
add dir mode=0755 owner=root group=bin path=usr |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
56 |
add dir mode=0755 owner=root group=bin path=usr/bin |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
57 |
add dir mode=0755 owner=root group=bin path=usr/local |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
58 |
add dir mode=0755 owner=root group=bin path=usr/local/bin |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
59 |
add dir mode=0755 owner=root group=bin path=usr/share |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
60 |
add dir mode=0755 owner=root group=bin path=usr/share/doc |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
61 |
add dir mode=0755 owner=root group=bin path=usr/share/doc/foo |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
62 |
add dir mode=0755 owner=root group=bin path=usr/share/man |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
63 |
add dir mode=0755 owner=root group=bin path=usr/share/man/man1 |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
64 |
add file tmp/foo mode=0755 owner=root group=bin path=usr/bin/foo |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
65 |
add file tmp/libfoo.so.1 mode=0755 owner=root group=bin path=lib/libfoo.so.1 variant.debug.foo=false |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
66 |
add file tmp/libfoo_debug.so.1 mode=0755 owner=root group=bin path=lib/libfoo.so.1 variant.debug.foo=true |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
67 |
add file tmp/foo.1 mode=0444 owner=root group=bin path=usr/share/man/man1/foo.1 facet.doc.man=true |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
68 |
add file tmp/README mode=0444 owner=root group=bin path=/usr/share/doc/foo/README |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
69 |
add link path=usr/local/bin/soft-foo target=usr/bin/foo |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
70 |
add hardlink path=usr/local/bin/hard-foo target=/usr/bin/foo |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
71 |
close """ |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
72 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
73 |
incorp_pkg = """ |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
74 |
open pkg://test/[email protected] |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
75 |
add set name=pkg.summary value="Incorporation" |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
76 |
add depend type=incorporate [email protected],5.11-0.1 |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
77 |
close |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
78 |
open pkg://test/[email protected] |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
79 |
add set name=pkg.summary value="Incorporation" |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
80 |
add depend type=incorporate [email protected],5.11-0.2 |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
81 |
close """ |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
82 |
|
2313
62501ec54db1
18222 pkg info --license can fail with "unknown publisher" when using -g
Shawn Walker <shawn.walker@oracle.com>
parents:
2310
diff
changeset
|
83 |
licensed_pkg = """ |
62501ec54db1
18222 pkg info --license can fail with "unknown publisher" when using -g
Shawn Walker <shawn.walker@oracle.com>
parents:
2310
diff
changeset
|
84 |
open pkg://test2/[email protected] |
62501ec54db1
18222 pkg info --license can fail with "unknown publisher" when using -g
Shawn Walker <shawn.walker@oracle.com>
parents:
2310
diff
changeset
|
85 |
add license tmp/LICENSE license=sample_license |
62501ec54db1
18222 pkg info --license can fail with "unknown publisher" when using -g
Shawn Walker <shawn.walker@oracle.com>
parents:
2310
diff
changeset
|
86 |
close """ |
62501ec54db1
18222 pkg info --license can fail with "unknown publisher" when using -g
Shawn Walker <shawn.walker@oracle.com>
parents:
2310
diff
changeset
|
87 |
|
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
88 |
signed_pkg = """ |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
89 |
open pkg://test/[email protected] |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
90 |
add depend type=require [email protected] |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
91 |
add dir mode=0755 owner=root group=bin path=usr/bin |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
92 |
add file tmp/quux mode=0755 owner=root group=bin path=usr/bin/quark |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
93 |
add set name=authorized.species value=bobcat |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
94 |
close """ |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
95 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
96 |
quux_pkg = """ |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
97 |
open pkg://test2/[email protected],5.11-0.1 |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
98 |
add set name=pkg.summary value="Example package quux." |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
99 |
add depend type=require fmri=pkg:/incorp |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
100 |
close |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
101 |
open pkg://test2/[email protected],5.11-0.2 |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
102 |
add set name=pkg.summary value="Example package quux." |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
103 |
add depend type=require fmri=pkg:/incorp |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
104 |
add dir mode=0755 owner=root group=bin path=usr |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
105 |
add dir mode=0755 owner=root group=bin path=usr/bin |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
106 |
add file tmp/quux mode=0755 owner=root group=bin path=usr/bin/quux |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
107 |
close """ |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
108 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
109 |
misc_files = ["tmp/foo", "tmp/libfoo.so.1", "tmp/libfoo_debug.so.1", |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
110 |
"tmp/foo.1", "tmp/README", "tmp/LICENSE", "tmp/quux"] |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
111 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
112 |
def __seed_ta_dir(self, certs, dest_dir=None): |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
113 |
if isinstance(certs, basestring): |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
114 |
certs = [certs] |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
115 |
if not dest_dir: |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
116 |
dest_dir = self.ta_dir |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
117 |
self.assert_(dest_dir) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
118 |
self.assert_(self.raw_trust_anchor_dir) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
119 |
for c in certs: |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
120 |
name = "%s_cert.pem" % c |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
121 |
portable.copyfile( |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
122 |
os.path.join(self.raw_trust_anchor_dir, name), |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
123 |
os.path.join(dest_dir, name)) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
124 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
125 |
def image_create(self, *args, **kwargs): |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
126 |
pkg5unittest.ManyDepotTestCase.image_create(self, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
127 |
*args, **kwargs) |
2339
aa5954c06b9d
16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2336
diff
changeset
|
128 |
self.ta_dir = os.path.join(self.img_path(), "etc/certs/CA") |
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
129 |
os.makedirs(self.ta_dir) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
130 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
131 |
def __publish_packages(self, rurl): |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
132 |
"""Private helper function to publish packages needed for |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
133 |
testing. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
134 |
""" |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
135 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
136 |
pkgs = "".join([self.foo_pkg, self.incorp_pkg, self.signed_pkg, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
137 |
self.quux_pkg]) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
138 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
139 |
# Publish packages needed for tests. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
140 |
plist = self.pkgsend_bulk(rurl, pkgs) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
141 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
142 |
# Sign the 'signed' package. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
143 |
r = self.get_repo(self.dcs[1].get_repodir()) |
2286
938fbb350ad2
16867 pkgsign should handle existing signatures better
Brock Pytlik <brock.pytlik@oracle.com>
parents:
2272
diff
changeset
|
144 |
sign_args = "-k %(key)s -c %(cert)s -i %(i1)s -i %(i2)s " \ |
938fbb350ad2
16867 pkgsign should handle existing signatures better
Brock Pytlik <brock.pytlik@oracle.com>
parents:
2272
diff
changeset
|
145 |
"-i %(i3)s -i %(i4)s -i %(i5)s -i %(i6)s %(pkg)s" % { |
938fbb350ad2
16867 pkgsign should handle existing signatures better
Brock Pytlik <brock.pytlik@oracle.com>
parents:
2272
diff
changeset
|
146 |
"key": os.path.join(self.keys_dir, "cs1_ch5_ta1_key.pem"), |
938fbb350ad2
16867 pkgsign should handle existing signatures better
Brock Pytlik <brock.pytlik@oracle.com>
parents:
2272
diff
changeset
|
147 |
"cert": os.path.join(self.cs_dir, "cs1_ch5_ta1_cert.pem"), |
938fbb350ad2
16867 pkgsign should handle existing signatures better
Brock Pytlik <brock.pytlik@oracle.com>
parents:
2272
diff
changeset
|
148 |
"i1": os.path.join(self.chain_certs_dir, |
938fbb350ad2
16867 pkgsign should handle existing signatures better
Brock Pytlik <brock.pytlik@oracle.com>
parents:
2272
diff
changeset
|
149 |
"ch1_ta1_cert.pem"), |
938fbb350ad2
16867 pkgsign should handle existing signatures better
Brock Pytlik <brock.pytlik@oracle.com>
parents:
2272
diff
changeset
|
150 |
"i2": os.path.join(self.chain_certs_dir, |
938fbb350ad2
16867 pkgsign should handle existing signatures better
Brock Pytlik <brock.pytlik@oracle.com>
parents:
2272
diff
changeset
|
151 |
"ch2_ta1_cert.pem"), |
938fbb350ad2
16867 pkgsign should handle existing signatures better
Brock Pytlik <brock.pytlik@oracle.com>
parents:
2272
diff
changeset
|
152 |
"i3": os.path.join(self.chain_certs_dir, |
938fbb350ad2
16867 pkgsign should handle existing signatures better
Brock Pytlik <brock.pytlik@oracle.com>
parents:
2272
diff
changeset
|
153 |
"ch3_ta1_cert.pem"), |
938fbb350ad2
16867 pkgsign should handle existing signatures better
Brock Pytlik <brock.pytlik@oracle.com>
parents:
2272
diff
changeset
|
154 |
"i4": os.path.join(self.chain_certs_dir, |
938fbb350ad2
16867 pkgsign should handle existing signatures better
Brock Pytlik <brock.pytlik@oracle.com>
parents:
2272
diff
changeset
|
155 |
"ch4_ta1_cert.pem"), |
938fbb350ad2
16867 pkgsign should handle existing signatures better
Brock Pytlik <brock.pytlik@oracle.com>
parents:
2272
diff
changeset
|
156 |
"i5": os.path.join(self.chain_certs_dir, |
938fbb350ad2
16867 pkgsign should handle existing signatures better
Brock Pytlik <brock.pytlik@oracle.com>
parents:
2272
diff
changeset
|
157 |
"ch5_ta1_cert.pem"), |
938fbb350ad2
16867 pkgsign should handle existing signatures better
Brock Pytlik <brock.pytlik@oracle.com>
parents:
2272
diff
changeset
|
158 |
"i6": os.path.join(self.chain_certs_dir, |
938fbb350ad2
16867 pkgsign should handle existing signatures better
Brock Pytlik <brock.pytlik@oracle.com>
parents:
2272
diff
changeset
|
159 |
"ch1_ta3_cert.pem"), |
938fbb350ad2
16867 pkgsign should handle existing signatures better
Brock Pytlik <brock.pytlik@oracle.com>
parents:
2272
diff
changeset
|
160 |
"pkg": plist[3] |
938fbb350ad2
16867 pkgsign should handle existing signatures better
Brock Pytlik <brock.pytlik@oracle.com>
parents:
2272
diff
changeset
|
161 |
} |
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
162 |
self.pkgsign(rurl, sign_args) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
163 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
164 |
# This is just a test assertion to verify that the |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
165 |
# package was signed as expected. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
166 |
self.image_create(rurl, prefix=None) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
167 |
self.__seed_ta_dir("ta1") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
168 |
self.pkg("set-property signature-policy verify") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
169 |
self.pkg("install signed") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
170 |
self.image_destroy() |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
171 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
172 |
return [ |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
173 |
fmri.PkgFmri(sfmri) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
174 |
for sfmri in plist |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
175 |
] |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
176 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
177 |
def __archive_packages(self, arc_name, repo, plist): |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
178 |
"""Private helper function to archive packages needed for |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
179 |
testing. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
180 |
""" |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
181 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
182 |
arc_path = os.path.join(self.test_root, arc_name) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
183 |
assert not os.path.exists(arc_path) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
184 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
185 |
arc = pkg.p5p.Archive(arc_path, mode="w") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
186 |
for pfmri in plist: |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
187 |
arc.add_repo_package(pfmri, repo) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
188 |
arc.close() |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
189 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
190 |
return arc_path |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
191 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
192 |
def setUp(self): |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
193 |
pkg5unittest.ManyDepotTestCase.setUp(self, ["test", "test", |
2313
62501ec54db1
18222 pkg info --license can fail with "unknown publisher" when using -g
Shawn Walker <shawn.walker@oracle.com>
parents:
2310
diff
changeset
|
194 |
"empty", "test2"]) |
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
195 |
self.make_misc_files(self.misc_files) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
196 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
197 |
# First repository will contain all packages. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
198 |
self.all_rurl = self.dcs[1].get_repo_url() |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
199 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
200 |
# Second repository will contain only foo. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
201 |
self.foo_rurl = self.dcs[2].get_repo_url() |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
202 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
203 |
# Third will be empty. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
204 |
self.empty_rurl = self.dcs[3].get_repo_url() |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
205 |
|
2313
62501ec54db1
18222 pkg info --license can fail with "unknown publisher" when using -g
Shawn Walker <shawn.walker@oracle.com>
parents:
2310
diff
changeset
|
206 |
# Fourth will be for license packages only. |
62501ec54db1
18222 pkg info --license can fail with "unknown publisher" when using -g
Shawn Walker <shawn.walker@oracle.com>
parents:
2310
diff
changeset
|
207 |
self.licensed_rurl = self.dcs[4].get_repo_url() |
62501ec54db1
18222 pkg info --license can fail with "unknown publisher" when using -g
Shawn Walker <shawn.walker@oracle.com>
parents:
2310
diff
changeset
|
208 |
|
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
209 |
# Setup base test paths. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
210 |
self.path_to_certs = os.path.join(self.ro_data_root, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
211 |
"signing_certs", "produced") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
212 |
self.keys_dir = os.path.join(self.path_to_certs, "keys") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
213 |
self.cs_dir = os.path.join(self.path_to_certs, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
214 |
"code_signing_certs") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
215 |
self.chain_certs_dir = os.path.join(self.path_to_certs, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
216 |
"chain_certs") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
217 |
self.raw_trust_anchor_dir = os.path.join(self.path_to_certs, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
218 |
"trust_anchors") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
219 |
self.crl_dir = os.path.join(self.path_to_certs, "crl") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
220 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
221 |
# Publish packages. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
222 |
plist = self.__publish_packages(self.all_rurl) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
223 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
224 |
# Copy foo to second repository. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
225 |
self.pkgrecv(self.all_rurl, "-d %s foo" % self.foo_rurl) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
226 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
227 |
# Now create a package archive containing all packages, and |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
228 |
# then one for each. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
229 |
repo = self.dcs[1].get_repo() |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
230 |
self.all_arc = self.__archive_packages("all_pkgs.p5p", repo, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
231 |
plist) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
232 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
233 |
for alist in ([plist[0]], [plist[1], plist[2]], [plist[3]], |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
234 |
[plist[4], plist[5]]): |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
235 |
arc_path = self.__archive_packages( |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
236 |
"%s.p5p" % alist[0].pkg_name, repo, alist) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
237 |
setattr(self, "%s_arc" % alist[0].pkg_name, arc_path) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
238 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
239 |
self.ta_dir = None |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
240 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
241 |
# Copy an archive and set its permissions to 0000 for testing |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
242 |
# unprivileged user access attempts. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
243 |
self.perm_arc = os.path.join(self.test_root, "noaccess.p5p") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
244 |
portable.copyfile(self.foo_arc, self.perm_arc) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
245 |
os.chmod(self.perm_arc, 0) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
246 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
247 |
# Create an empty archive. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
248 |
arc_path = os.path.join(self.test_root, "empty.p5p") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
249 |
arc = pkg.p5p.Archive(arc_path, mode="w") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
250 |
arc.close() |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
251 |
self.empty_arc = arc_path |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
252 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
253 |
# Store FMRIs for later use. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
254 |
self.foo10 = plist[0] |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
255 |
self.incorp10 = plist[1] |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
256 |
self.incorp20 = plist[2] |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
257 |
self.signed10 = plist[3] |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
258 |
self.quux01 = plist[4] |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
259 |
self.quux10 = plist[5] |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
260 |
|
2313
62501ec54db1
18222 pkg info --license can fail with "unknown publisher" when using -g
Shawn Walker <shawn.walker@oracle.com>
parents:
2310
diff
changeset
|
261 |
# Handle license package specially. |
62501ec54db1
18222 pkg info --license can fail with "unknown publisher" when using -g
Shawn Walker <shawn.walker@oracle.com>
parents:
2310
diff
changeset
|
262 |
self.licensed10 = self.pkgsend_bulk(self.licensed_rurl, |
62501ec54db1
18222 pkg info --license can fail with "unknown publisher" when using -g
Shawn Walker <shawn.walker@oracle.com>
parents:
2310
diff
changeset
|
263 |
self.licensed_pkg)[0] |
62501ec54db1
18222 pkg info --license can fail with "unknown publisher" when using -g
Shawn Walker <shawn.walker@oracle.com>
parents:
2310
diff
changeset
|
264 |
|
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
265 |
def test_00_list(self): |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
266 |
"""Verify that the list operation works as expected for |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
267 |
temporary origins. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
268 |
""" |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
269 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
270 |
# Create an image and verify no packages are known. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
271 |
self.image_create(self.empty_rurl, prefix=None) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
272 |
self.pkg("list -a", exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
273 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
274 |
# Verify graceful failure for an empty source alone or in |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
275 |
# combination with another temporary source. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
276 |
self.pkg("list -H -g %s" % self.empty_arc, exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
277 |
self.pkg("list -H -g %s -g %s" % (self.empty_arc, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
278 |
self.foo_arc), exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
279 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
280 |
# Verify graceful failure if source doesn't exist. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
281 |
self.pkg("list -H -g %s" % (self.foo_arc + ".nosuchpkg"), |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
282 |
exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
283 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
284 |
# Verify graceful failure if user doesn't have permission to |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
285 |
# access temporary source. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
286 |
self.pkg("list -H -g %s" % self.perm_arc, su_wrap=True, exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
287 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
288 |
# Verify graceful list failure if -u is used with -g. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
289 |
self.pkg("list -H -u -g %s" % self.foo_arc, exit=2) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
290 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
291 |
# Verify list output for a single package temporary source. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
292 |
# -a is used here to verify that even though -a is implicit, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
293 |
# it is not an error to specify it. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
294 |
self.pkg("list -aH -g %s" % self.foo_arc) |
2336
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
295 |
expected = "foo (test) 1.0 ---\n" |
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
296 |
output = self.reduceSpaces(self.output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
297 |
self.assertEqualDiff(expected, output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
298 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
299 |
# Note that -a is implicit when -g is used, so all of |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
300 |
# the following tests purposefully omit it. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
301 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
302 |
# Verify list output for a multiple package temporary source |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
303 |
# as an unprivileged user. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
304 |
self.pkg("list -fH -g %s" % self.all_arc, su_wrap=True) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
305 |
expected = \ |
2336
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
306 |
("foo (test) 1.0 ---\n" |
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
307 |
"incorp (test) 2.0 ---\n" |
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
308 |
"incorp (test) 1.0 ---\n" |
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
309 |
"quux (test2) 1.0-0.2 ---\n" |
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
310 |
"quux (test2) 0.1-0.1 ---\n" |
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
311 |
"signed (test) 1.0 ---\n") |
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
312 |
output = self.reduceSpaces(self.output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
313 |
self.assertEqualDiff(expected, output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
314 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
315 |
# Verify list output for a multiple package temporary source. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
316 |
self.pkg("list -fH -g %s" % self.all_arc) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
317 |
output = self.reduceSpaces(self.output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
318 |
self.assertEqualDiff(expected, output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
319 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
320 |
# Verify list output for multiple temporary sources using |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
321 |
# different combinations of archives and repositories. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
322 |
self.pkg("list -fH -g %s -g %s" % (self.signed_arc, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
323 |
self.foo_rurl)) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
324 |
expected = \ |
2336
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
325 |
("foo (test) 1.0 ---\n" |
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
326 |
"signed (test) 1.0 ---\n") |
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
327 |
output = self.reduceSpaces(self.output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
328 |
self.assertEqualDiff(expected, output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
329 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
330 |
self.pkg("list -fH -g %s -g %s -g %s -g %s" % (self.signed_arc, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
331 |
self.incorp_arc, self.quux_arc, self.foo_arc)) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
332 |
expected = \ |
2336
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
333 |
("foo (test) 1.0 ---\n" |
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
334 |
"incorp (test) 2.0 ---\n" |
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
335 |
"incorp (test) 1.0 ---\n" |
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
336 |
"quux (test2) 1.0-0.2 ---\n" |
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
337 |
"quux (test2) 0.1-0.1 ---\n" |
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
338 |
"signed (test) 1.0 ---\n") |
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
339 |
output = self.reduceSpaces(self.output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
340 |
self.assertEqualDiff(expected, output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
341 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
342 |
self.pkg("list -fH -g %s -g %s -g %s -g %s" % (self.signed_arc, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
343 |
self.quux_arc, self.incorp_arc, self.foo_rurl)) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
344 |
output = self.reduceSpaces(self.output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
345 |
self.assertEqualDiff(expected, output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
346 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
347 |
self.pkg("list -fH -g %s -g %s" % (self.all_arc, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
348 |
self.all_rurl)) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
349 |
output = self.reduceSpaces(self.output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
350 |
self.assertEqualDiff(expected, output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
351 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
352 |
# Verify list -g without -f. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
353 |
self.pkg("list -H -g %s -g %s -g %s -g %s" % (self.signed_arc, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
354 |
self.quux_arc, self.incorp_arc, self.foo_rurl)) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
355 |
expected = \ |
2336
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
356 |
("foo (test) 1.0 ---\n" |
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
357 |
"incorp (test) 2.0 ---\n" |
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
358 |
"quux (test2) 1.0-0.2 ---\n" |
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
359 |
"signed (test) 1.0 ---\n") |
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
360 |
output = self.reduceSpaces(self.output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
361 |
self.assertEqualDiff(expected, output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
362 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
363 |
# Verify package installed from archive shows in default list |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
364 |
# output. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
365 |
self.pkg("install -g %s [email protected]" % self.incorp_arc) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
366 |
self.pkg("list -H") |
2336
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
367 |
expected = "incorp (test) 1.0 i--\n" |
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
368 |
output = self.reduceSpaces(self.output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
369 |
self.assertEqualDiff(expected, output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
370 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
371 |
# Verify list -g with an incorp installed without -f. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
372 |
self.pkg("list -H -g %s -g %s -g %s -g %s" % (self.signed_arc, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
373 |
self.quux_arc, self.incorp_arc, self.foo_rurl)) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
374 |
expected = \ |
2336
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
375 |
("foo (test) 1.0 ---\n" |
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
376 |
"incorp (test) 1.0 i--\n" |
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
377 |
"quux (test2) 0.1-0.1 ---\n" |
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
378 |
"signed (test) 1.0 ---\n") |
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
379 |
output = self.reduceSpaces(self.output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
380 |
self.assertEqualDiff(expected, output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
381 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
382 |
# Verify output again as unprivileged user. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
383 |
self.pkg("list -H -g %s -g %s -g %s -g %s" % (self.signed_arc, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
384 |
self.quux_arc, self.incorp_arc, self.foo_rurl), |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
385 |
su_wrap=True) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
386 |
output = self.reduceSpaces(self.output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
387 |
self.assertEqualDiff(expected, output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
388 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
389 |
# Verify list -g with an incorp installed with -f. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
390 |
self.pkg("list -fH -g %s -g %s -g %s -g %s" % (self.signed_arc, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
391 |
self.quux_arc, self.incorp_arc, self.foo_rurl)) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
392 |
expected = \ |
2336
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
393 |
("foo (test) 1.0 ---\n" |
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
394 |
"incorp (test) 2.0 ---\n" |
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
395 |
"incorp (test) 1.0 i--\n" |
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
396 |
"quux (test2) 1.0-0.2 ---\n" |
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
397 |
"quux (test2) 0.1-0.1 ---\n" |
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
398 |
"signed (test) 1.0 ---\n") |
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
399 |
output = self.reduceSpaces(self.output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
400 |
self.assertEqualDiff(expected, output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
401 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
402 |
# Verify list -g with an incorp installed and -n. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
403 |
self.pkg("list -nH -g %s -g %s -g %s -g %s" % (self.signed_arc, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
404 |
self.quux_arc, self.incorp_arc, self.foo_rurl)) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
405 |
expected = \ |
2336
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
406 |
("foo (test) 1.0 ---\n" |
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
407 |
"incorp (test) 2.0 ---\n" |
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
408 |
"quux (test2) 1.0-0.2 ---\n" |
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
409 |
"signed (test) 1.0 ---\n") |
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
410 |
output = self.reduceSpaces(self.output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
411 |
self.assertEqualDiff(expected, output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
412 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
413 |
# Uninstall all packages and verify there are no known packages. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
414 |
self.pkg("uninstall \*") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
415 |
self.pkg("list -af", exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
416 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
417 |
# Cleanup. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
418 |
self.image_destroy() |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
419 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
420 |
def test_01_info(self): |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
421 |
"""Verify that the info operation works as expected for |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
422 |
temporary origins. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
423 |
""" |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
424 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
425 |
# Create an image and verify no packages are known. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
426 |
self.image_create(self.empty_rurl, prefix=None) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
427 |
self.pkg("list -a", exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
428 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
429 |
# Verify graceful failure for an empty source alone or in |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
430 |
# combination with another temporary source. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
431 |
self.pkg("info -g %s \*" % self.empty_arc, exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
432 |
self.pkg("info -g %s -g %s foo" % (self.empty_arc, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
433 |
self.foo_arc), exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
434 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
435 |
# Verify graceful failure if source doesn't exist. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
436 |
self.pkg("info -g %s foo" % (self.foo_arc + ".nosuchpkg"), |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
437 |
exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
438 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
439 |
# Verify graceful failure if user doesn't have permission to |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
440 |
# access temporary source. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
441 |
self.pkg("info -g %s foo" % self.perm_arc, su_wrap=True, exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
442 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
443 |
# Verify graceful failure if -l is used with -g. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
444 |
self.pkg("info -l -g %s foo" % self.foo_arc, exit=2) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
445 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
446 |
# Verify output for a single package temporary source. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
447 |
# -r is used here to verify that even though -r is implicit, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
448 |
# it is not an error to specify it. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
449 |
def pd(pfmri): |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
450 |
return pfmri.version.get_timestamp().strftime("%c") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
451 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
452 |
self.pkg("info -r -g %s foo" % self.foo_arc, su_wrap=True) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
453 |
expected = """\ |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
454 |
Name: foo |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
455 |
Summary: Example package foo. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
456 |
State: Not installed |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
457 |
Publisher: test |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
458 |
Version: 1.0 |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
459 |
Build Release: 5.11 |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
460 |
Branch: None |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
461 |
Packaging Date: %(pkg_date)s |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
462 |
Size: 41.00 B |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
463 |
FMRI: %(pkg_fmri)s |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
464 |
""" % { "pkg_date": pd(self.foo10), "pkg_fmri": self.foo10 } |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
465 |
self.assertEqualDiff(expected, self.output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
466 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
467 |
# Again, as prvileged user. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
468 |
self.pkg("info -r -g %s foo" % self.foo_arc) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
469 |
self.assertEqualDiff(expected, self.output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
470 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
471 |
# Note that -r is implicit when -g is used, so all of |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
472 |
# the following tests purposefully omit it. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
473 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
474 |
# Verify info output for a multiple package temporary source |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
475 |
# as an unprivileged user. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
476 |
self.pkg("info -g %s \*" % self.all_arc, su_wrap=True) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
477 |
expected = """\ |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
478 |
Name: foo |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
479 |
Summary: Example package foo. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
480 |
State: Not installed |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
481 |
Publisher: test |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
482 |
Version: 1.0 |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
483 |
Build Release: 5.11 |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
484 |
Branch: None |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
485 |
Packaging Date: %(foo10_pkg_date)s |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
486 |
Size: 41.00 B |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
487 |
FMRI: %(foo10_pkg_fmri)s |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
488 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
489 |
Name: incorp |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
490 |
Summary: Incorporation |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
491 |
State: Not installed |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
492 |
Publisher: test |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
493 |
Version: 2.0 |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
494 |
Build Release: 5.11 |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
495 |
Branch: None |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
496 |
Packaging Date: %(incorp20_pkg_date)s |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
497 |
Size: 0.00 B |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
498 |
FMRI: %(incorp20_pkg_fmri)s |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
499 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
500 |
Name: quux |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
501 |
Summary: Example package quux. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
502 |
State: Not installed |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
503 |
Publisher: test2 |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
504 |
Version: 1.0 |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
505 |
Build Release: 5.11 |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
506 |
Branch: 0.2 |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
507 |
Packaging Date: %(quux10_pkg_date)s |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
508 |
Size: 8.00 B |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
509 |
FMRI: %(quux10_pkg_fmri)s |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
510 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
511 |
Name: signed |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
512 |
Summary: |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
513 |
State: Not installed |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
514 |
Publisher: test |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
515 |
Version: 1.0 |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
516 |
Build Release: 5.11 |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
517 |
Branch: None |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
518 |
Packaging Date: %(signed10_pkg_date)s |
2414
ce704b29a50c
18464 revoka-ca-cert needs a rethink
Brock Pytlik <brock.pytlik@oracle.com>
parents:
2339
diff
changeset
|
519 |
Size: 7.79 kB |
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
520 |
FMRI: %(signed10_pkg_fmri)s |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
521 |
""" % { "foo10_pkg_date": pd(self.foo10), "foo10_pkg_fmri": self.foo10, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
522 |
"incorp20_pkg_date": pd(self.incorp20), "incorp20_pkg_fmri": self.incorp20, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
523 |
"quux10_pkg_date": pd(self.quux10), "quux10_pkg_fmri": self.quux10, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
524 |
"signed10_pkg_date": pd(self.signed10), "signed10_pkg_fmri": self.signed10 |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
525 |
} |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
526 |
self.assertEqualDiff(expected, self.output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
527 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
528 |
# Verify info output for a multiple package temporary source. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
529 |
self.pkg("info -g %s [email protected] [email protected] [email protected] " |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
530 |
"[email protected]" % self.all_arc) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
531 |
self.assertEqualDiff(expected, self.output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
532 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
533 |
# Verify info result for multiple temporary sources using |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
534 |
# different combinations of archives and repositories. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
535 |
self.pkg("info -g %s -g %s [email protected] [email protected] [email protected]" % ( |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
536 |
self.signed_arc, self.foo_rurl)) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
537 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
538 |
self.pkg("info -g %s -g %s -g %s -g %s [email protected] [email protected] " |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
539 |
"[email protected] [email protected]" % ( |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
540 |
self.signed_arc, self.incorp_arc, self.quux_arc, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
541 |
self.foo_arc)) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
542 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
543 |
self.pkg("info -g %s -g %s -g %s -g %s [email protected] [email protected] " |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
544 |
"[email protected] [email protected]" % ( |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
545 |
self.signed_arc, self.incorp_arc, self.quux_arc, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
546 |
self.foo_rurl)) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
547 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
548 |
self.pkg("info -g %s -g %s [email protected] [email protected] [email protected] " |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
549 |
"[email protected]" % (self.all_arc, self.all_rurl)) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
550 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
551 |
# Verify package installed from archive shows in default info |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
552 |
# output. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
553 |
self.pkg("install -g %s [email protected]" % self.foo_arc) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
554 |
self.pkg("info") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
555 |
expected = """\ |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
556 |
Name: foo |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
557 |
Summary: Example package foo. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
558 |
State: Installed |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
559 |
Publisher: test |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
560 |
Version: 1.0 |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
561 |
Build Release: 5.11 |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
562 |
Branch: None |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
563 |
Packaging Date: %(pkg_date)s |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
564 |
Size: 41.00 B |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
565 |
FMRI: %(pkg_fmri)s |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
566 |
""" % { "pkg_date": pd(self.foo10), "pkg_fmri": self.foo10 } |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
567 |
self.assertEqualDiff(expected, self.output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
568 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
569 |
# Verify that when showing package info from archive that |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
570 |
# package shows as installed if it matches the installed one. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
571 |
self.pkg("info -g %s foo" % self.foo_arc) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
572 |
self.assertEqualDiff(expected, self.output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
573 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
574 |
# Uninstall all packages and verify there are no known packages. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
575 |
self.pkg("uninstall \*") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
576 |
self.pkg("info -r \*", exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
577 |
|
2313
62501ec54db1
18222 pkg info --license can fail with "unknown publisher" when using -g
Shawn Walker <shawn.walker@oracle.com>
parents:
2310
diff
changeset
|
578 |
# Verify that --license works as expected with -g. |
62501ec54db1
18222 pkg info --license can fail with "unknown publisher" when using -g
Shawn Walker <shawn.walker@oracle.com>
parents:
2310
diff
changeset
|
579 |
self.pkg("info -g %s --license licensed" % self.licensed_rurl) |
62501ec54db1
18222 pkg info --license can fail with "unknown publisher" when using -g
Shawn Walker <shawn.walker@oracle.com>
parents:
2310
diff
changeset
|
580 |
self.assertEqualDiff("tmp/LICENSE\n", self.output) |
62501ec54db1
18222 pkg info --license can fail with "unknown publisher" when using -g
Shawn Walker <shawn.walker@oracle.com>
parents:
2310
diff
changeset
|
581 |
|
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
582 |
# Cleanup. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
583 |
self.image_destroy() |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
584 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
585 |
def test_02_contents(self): |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
586 |
"""Verify that the contents operation works as expected for |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
587 |
temporary origins. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
588 |
""" |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
589 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
590 |
# Create an image and verify no packages are known. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
591 |
self.image_create(self.empty_rurl, prefix=None) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
592 |
self.pkg("list -a", exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
593 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
594 |
# Verify graceful failure for an empty source alone or in |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
595 |
# combination with another temporary source. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
596 |
self.pkg("contents -g %s \*" % self.empty_arc, exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
597 |
self.pkg("contents -g %s -g %s foo" % (self.empty_arc, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
598 |
self.foo_arc), exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
599 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
600 |
# Verify graceful failure if source doesn't exist. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
601 |
self.pkg("contents -g %s foo" % (self.foo_arc + ".nosuchpkg"), |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
602 |
exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
603 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
604 |
# Verify graceful failure if user doesn't have permission to |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
605 |
# access temporary source. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
606 |
self.pkg("contents -g %s foo" % self.perm_arc, su_wrap=True, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
607 |
exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
608 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
609 |
# Verify output for a single package temporary source. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
610 |
# -r is used here to verify that even though -r is implicit, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
611 |
# it is not an error to specify it. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
612 |
def pd(pfmri): |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
613 |
return pfmri.version.get_timestamp().strftime("%c") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
614 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
615 |
self.pkg("contents -mr -g %s foo" % self.foo_arc, su_wrap=True) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
616 |
expected = """\ |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
617 |
set name=pkg.fmri value=%s |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
618 |
set name=pkg.summary value="Example package foo." |
2339
aa5954c06b9d
16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2336
diff
changeset
|
619 |
set name=variant.debug.foo value=true value=false |
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
620 |
dir group=bin mode=0755 owner=root path=lib |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
621 |
dir group=bin mode=0755 owner=root path=usr |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
622 |
dir group=bin mode=0755 owner=root path=usr/bin |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
623 |
dir group=bin mode=0755 owner=root path=usr/local |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
624 |
dir group=bin mode=0755 owner=root path=usr/local/bin |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
625 |
dir group=bin mode=0755 owner=root path=usr/share |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
626 |
dir group=bin mode=0755 owner=root path=usr/share/doc |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
627 |
dir group=bin mode=0755 owner=root path=usr/share/doc/foo |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
628 |
dir group=bin mode=0755 owner=root path=usr/share/man |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
629 |
dir group=bin mode=0755 owner=root path=usr/share/man/man1 |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
630 |
file 0acf1107d31f3bab406f8611b21b8fade78ac874 chash=20db00fbd7c9fb551e54c5b424bf24d48cf81b7a facet.doc.man=true group=bin mode=0444 owner=root path=usr/share/man/man1/foo.1 pkg.csize=29 pkg.size=9 |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
631 |
file b265f2ec87c4a55eb2b6b4c926e7c65f7247a27e chash=5ae38559680146c49d647163ac2f60cdf43e20d8 group=bin mode=0755 owner=root path=usr/bin/foo pkg.csize=27 pkg.size=7 |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
632 |
file 4ea0699d20b99238a877051e50406687fd4fe163 chash=7a23120f5a4f1eae2829a707020d0cdbab10e9a2 group=bin mode=0755 owner=root path=lib/libfoo.so.1 pkg.csize=41 pkg.size=21 variant.debug.foo=true |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
633 |
file a285ada5f3cae14ea00e97a8d99bd3e357cb0dca chash=97a09a2356d068d8dbe418de90012908c095d3e2 group=bin mode=0755 owner=root path=lib/libfoo.so.1 pkg.csize=35 pkg.size=15 variant.debug.foo=false |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
634 |
file dc84bd4b606fe43fc892eb245d9602b67f8cba38 chash=e1106f9505253dfe46aa48c353740f9e1896a844 group=bin mode=0444 owner=root path=usr/share/doc/foo/README pkg.csize=30 pkg.size=10 |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
635 |
hardlink path=usr/local/bin/hard-foo target=/usr/bin/foo |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
636 |
link path=usr/local/bin/soft-foo target=usr/bin/foo |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
637 |
""" % self.foo10 |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
638 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
639 |
# Again, as prvileged user. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
640 |
self.pkg("contents -mr -g %s foo" % self.foo_arc) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
641 |
self.assertEqualDiff(sorted(expected.splitlines()), |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
642 |
sorted(self.output.splitlines())) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
643 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
644 |
# Note that -r is implicit when -g is used, so all of |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
645 |
# the following tests purposefully omit it. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
646 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
647 |
# Verify contents result for multiple temporary sources using |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
648 |
# different combinations of archives and repositories. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
649 |
self.pkg("contents -g %s -g %s [email protected] [email protected] " |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
650 |
"[email protected]" % (self.signed_arc, self.foo_rurl)) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
651 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
652 |
self.pkg("contents -g %s -g %s -g %s -g %s [email protected] [email protected] " |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
653 |
"[email protected] [email protected]" % (self.signed_arc, self.incorp_arc, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
654 |
self.quux_arc, self.foo_arc)) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
655 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
656 |
self.pkg("contents -g %s -g %s -g %s -g %s [email protected] [email protected] " |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
657 |
"[email protected] [email protected]" % (self.signed_arc, self.incorp_arc, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
658 |
self.quux_arc, self.foo_rurl)) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
659 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
660 |
self.pkg("contents -g %s -g %s [email protected] [email protected] [email protected] " |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
661 |
"[email protected]" % (self.all_arc, self.all_rurl)) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
662 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
663 |
# Verify package installed from archive can be used with |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
664 |
# contents. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
665 |
self.pkg("install -g %s [email protected]" % self.foo_arc) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
666 |
self.pkg("contents foo") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
667 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
668 |
# Uninstall all packages and verify there are no known packages. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
669 |
self.pkg("uninstall \*") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
670 |
self.pkg("contents -r \*", exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
671 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
672 |
# Cleanup. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
673 |
self.image_destroy() |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
674 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
675 |
def test_03_install_update(self): |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
676 |
"""Verify that install and update work as expected for temporary |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
677 |
origins. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
678 |
""" |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
679 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
680 |
# |
2593
39deb6a29774
18716 captive_portal_test requires at least one configured source to be reachable even when specifying temporary sources
Shawn Walker <shawn.walker@oracle.com>
parents:
2518
diff
changeset
|
681 |
# Create an image with no configured package sources, and |
39deb6a29774
18716 captive_portal_test requires at least one configured source to be reachable even when specifying temporary sources
Shawn Walker <shawn.walker@oracle.com>
parents:
2518
diff
changeset
|
682 |
# verify that a package can be installed from a temporary |
39deb6a29774
18716 captive_portal_test requires at least one configured source to be reachable even when specifying temporary sources
Shawn Walker <shawn.walker@oracle.com>
parents:
2518
diff
changeset
|
683 |
# source. |
39deb6a29774
18716 captive_portal_test requires at least one configured source to be reachable even when specifying temporary sources
Shawn Walker <shawn.walker@oracle.com>
parents:
2518
diff
changeset
|
684 |
# |
39deb6a29774
18716 captive_portal_test requires at least one configured source to be reachable even when specifying temporary sources
Shawn Walker <shawn.walker@oracle.com>
parents:
2518
diff
changeset
|
685 |
self.image_create(self.empty_rurl, prefix=None) |
39deb6a29774
18716 captive_portal_test requires at least one configured source to be reachable even when specifying temporary sources
Shawn Walker <shawn.walker@oracle.com>
parents:
2518
diff
changeset
|
686 |
self.pkg("set-property signature-policy ignore") |
39deb6a29774
18716 captive_portal_test requires at least one configured source to be reachable even when specifying temporary sources
Shawn Walker <shawn.walker@oracle.com>
parents:
2518
diff
changeset
|
687 |
self.pkg("list -a", exit=1) |
39deb6a29774
18716 captive_portal_test requires at least one configured source to be reachable even when specifying temporary sources
Shawn Walker <shawn.walker@oracle.com>
parents:
2518
diff
changeset
|
688 |
self.pkg("install -g %s foo" % self.foo_arc) |
39deb6a29774
18716 captive_portal_test requires at least one configured source to be reachable even when specifying temporary sources
Shawn Walker <shawn.walker@oracle.com>
parents:
2518
diff
changeset
|
689 |
|
39deb6a29774
18716 captive_portal_test requires at least one configured source to be reachable even when specifying temporary sources
Shawn Walker <shawn.walker@oracle.com>
parents:
2518
diff
changeset
|
690 |
# |
39deb6a29774
18716 captive_portal_test requires at least one configured source to be reachable even when specifying temporary sources
Shawn Walker <shawn.walker@oracle.com>
parents:
2518
diff
changeset
|
691 |
# Create an image with a network-based source, then make that |
39deb6a29774
18716 captive_portal_test requires at least one configured source to be reachable even when specifying temporary sources
Shawn Walker <shawn.walker@oracle.com>
parents:
2518
diff
changeset
|
692 |
# source unreachable and verify that a package can be installed |
39deb6a29774
18716 captive_portal_test requires at least one configured source to be reachable even when specifying temporary sources
Shawn Walker <shawn.walker@oracle.com>
parents:
2518
diff
changeset
|
693 |
# from a temporary source. |
39deb6a29774
18716 captive_portal_test requires at least one configured source to be reachable even when specifying temporary sources
Shawn Walker <shawn.walker@oracle.com>
parents:
2518
diff
changeset
|
694 |
# |
39deb6a29774
18716 captive_portal_test requires at least one configured source to be reachable even when specifying temporary sources
Shawn Walker <shawn.walker@oracle.com>
parents:
2518
diff
changeset
|
695 |
self.dcs[4].start() |
39deb6a29774
18716 captive_portal_test requires at least one configured source to be reachable even when specifying temporary sources
Shawn Walker <shawn.walker@oracle.com>
parents:
2518
diff
changeset
|
696 |
self.image_create(self.dcs[4].get_depot_url(), prefix=None) |
39deb6a29774
18716 captive_portal_test requires at least one configured source to be reachable even when specifying temporary sources
Shawn Walker <shawn.walker@oracle.com>
parents:
2518
diff
changeset
|
697 |
self.dcs[4].stop() |
39deb6a29774
18716 captive_portal_test requires at least one configured source to be reachable even when specifying temporary sources
Shawn Walker <shawn.walker@oracle.com>
parents:
2518
diff
changeset
|
698 |
self.pkg("set-property signature-policy ignore") |
39deb6a29774
18716 captive_portal_test requires at least one configured source to be reachable even when specifying temporary sources
Shawn Walker <shawn.walker@oracle.com>
parents:
2518
diff
changeset
|
699 |
self.pkg("list -a") |
39deb6a29774
18716 captive_portal_test requires at least one configured source to be reachable even when specifying temporary sources
Shawn Walker <shawn.walker@oracle.com>
parents:
2518
diff
changeset
|
700 |
# --no-refresh is required for now because -g combines temporary |
39deb6a29774
18716 captive_portal_test requires at least one configured source to be reachable even when specifying temporary sources
Shawn Walker <shawn.walker@oracle.com>
parents:
2518
diff
changeset
|
701 |
# sources with configured soures and pkg(5) currently treats |
39deb6a29774
18716 captive_portal_test requires at least one configured source to be reachable even when specifying temporary sources
Shawn Walker <shawn.walker@oracle.com>
parents:
2518
diff
changeset
|
702 |
# refresh failure as fatal. See bug 18323. |
39deb6a29774
18716 captive_portal_test requires at least one configured source to be reachable even when specifying temporary sources
Shawn Walker <shawn.walker@oracle.com>
parents:
2518
diff
changeset
|
703 |
self.pkg("install --no-refresh -g %s foo" % self.foo_arc) |
39deb6a29774
18716 captive_portal_test requires at least one configured source to be reachable even when specifying temporary sources
Shawn Walker <shawn.walker@oracle.com>
parents:
2518
diff
changeset
|
704 |
|
39deb6a29774
18716 captive_portal_test requires at least one configured source to be reachable even when specifying temporary sources
Shawn Walker <shawn.walker@oracle.com>
parents:
2518
diff
changeset
|
705 |
# |
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
706 |
# Create an image and verify no packages are known. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
707 |
# |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
708 |
self.image_create(self.empty_rurl, prefix=None) |
2511
9ce778d8c86a
16865 change default policy for images to be verify instead of ignore
Brock Pytlik <brock.pytlik@oracle.com>
parents:
2414
diff
changeset
|
709 |
self.pkg("set-property signature-policy ignore") |
9ce778d8c86a
16865 change default policy for images to be verify instead of ignore
Brock Pytlik <brock.pytlik@oracle.com>
parents:
2414
diff
changeset
|
710 |
self.pkg("set-publisher --set-property signature-policy=ignore " |
9ce778d8c86a
16865 change default policy for images to be verify instead of ignore
Brock Pytlik <brock.pytlik@oracle.com>
parents:
2414
diff
changeset
|
711 |
"test") |
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
712 |
self.pkg("list -a", exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
713 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
714 |
# Verify graceful failure if source doesn't exist. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
715 |
self.pkg("install -g %s foo" % (self.foo_arc + ".nosuchpkg"), |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
716 |
exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
717 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
718 |
# Verify graceful failure if user doesn't have permission to |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
719 |
# access temporary source. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
720 |
self.pkg("install -g %s foo" % self.perm_arc, su_wrap=True, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
721 |
exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
722 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
723 |
# Verify attempting to install a package with a missing |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
724 |
# dependency fails gracefully. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
725 |
self.pkg("install -g %s signed" % self.signed_arc, exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
726 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
727 |
# Verify a package from a publisher not already configured can |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
728 |
# be installed using temporary origins. Installing a package |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
729 |
# in this scenario will result in the publisher being added |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
730 |
# but without any origin information. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
731 |
self.pkg("install -g %s foo" % self.foo_arc) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
732 |
self.pkg("list foo") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
733 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
734 |
# Verify that publisher exists now (without origin information) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
735 |
# and is enabled and sticky (-n omits disabled publishers). |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
736 |
self.pkg("publisher -nH") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
737 |
expected = """\ |
2701
55bf0cb749ae
7136244 granular configuration of http_proxy option
Tim Foster <tim.s.foster@oracle.com>
parents:
2690
diff
changeset
|
738 |
empty origin online F %s/ |
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
739 |
test |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
740 |
""" % self.empty_rurl |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
741 |
output = self.reduceSpaces(self.output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
742 |
self.assertEqualDiff(expected, output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
743 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
744 |
# Verify that signed package can now be installed since |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
745 |
# dependency was satisfied. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
746 |
self.pkg("install -g %s signed" % self.signed_arc) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
747 |
self.pkg("list foo signed") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
748 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
749 |
# Verify that removing all packages leaves no packages known |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
750 |
# even though publisher remains configured. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
751 |
self.pkg("uninstall \*") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
752 |
self.pkg("list -af", exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
753 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
754 |
# Verify publisher can be removed. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
755 |
self.pkg("unset-publisher test") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
756 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
757 |
# |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
758 |
# Create an image using the foo archive. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
759 |
# |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
760 |
self.image_create(misc.parse_uri(self.foo_arc), prefix=None) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
761 |
self.__seed_ta_dir("ta1") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
762 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
763 |
# Verify that signed package can be installed and the archive |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
764 |
# configured for the publisher allows dependencies to be |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
765 |
# satisfied. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
766 |
self.pkg("set-property signature-policy verify") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
767 |
self.pkg("install -g %s signed" % self.signed_arc) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
768 |
self.pkg("list foo signed") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
769 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
770 |
# Verify that removing all packages leaves only foo known. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
771 |
self.pkg("uninstall \*") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
772 |
self.pkg("list -aH") |
2336
b318adf82ae0
18125 we don't like 'u' anymore or your 'x'-friend from that other 'state'
Shawn Walker <shawn.walker@oracle.com>
parents:
2320
diff
changeset
|
773 |
expected = "foo 1.0 ---\n" |
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
774 |
output = self.reduceSpaces(self.output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
775 |
self.assertEqualDiff(expected, output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
776 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
777 |
# |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
778 |
# Create an image and verify no packages are known. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
779 |
# |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
780 |
self.image_create(self.empty_rurl, prefix=None) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
781 |
self.pkg("list -a", exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
782 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
783 |
# Install an older version of a known package. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
784 |
self.pkg("install -g %s [email protected]" % self.all_arc) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
785 |
self.pkg("list [email protected] [email protected]") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
786 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
787 |
# Verify graceful failure if source doesn't exist. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
788 |
self.pkg("update -g %s foo" % (self.foo_arc + ".nosuchpkg"), |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
789 |
exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
790 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
791 |
# Verify graceful failure if user doesn't have permission to |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
792 |
# access temporary source. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
793 |
self.pkg("update -g %s foo" % self.perm_arc, su_wrap=True, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
794 |
exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
795 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
796 |
# Verify that packages can be updated using temporary origins. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
797 |
self.pkg("update -g %s -g %s" % (self.incorp_arc, |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
798 |
self.quux_arc)) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
799 |
self.pkg("list [email protected] [email protected]") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
800 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
801 |
# Verify that both test and test2 are configured without |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
802 |
# origins. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
803 |
self.pkg("publisher -H") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
804 |
expected = """\ |
2701
55bf0cb749ae
7136244 granular configuration of http_proxy option
Tim Foster <tim.s.foster@oracle.com>
parents:
2690
diff
changeset
|
805 |
empty origin online F %s/ |
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
806 |
test |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
807 |
test2 |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
808 |
""" % self.empty_rurl |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
809 |
output = self.reduceSpaces(self.output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
810 |
self.assertEqualDiff(expected, output) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
811 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
812 |
def test_04_change_varcets(self): |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
813 |
"""Verify that change-facet and change-variant work as expected |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
814 |
for temporary origins. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
815 |
""" |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
816 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
817 |
# |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
818 |
# Create an image and verify no packages are known. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
819 |
# |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
820 |
self.image_create(self.empty_rurl, prefix=None) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
821 |
self.pkg("list -a", exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
822 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
823 |
# Install a package from an archive. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
824 |
self.pkg("install -g %s foo" % self.foo_arc) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
825 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
826 |
# |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
827 |
# Verify change-facet can use temporary origins. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
828 |
# |
2339
aa5954c06b9d
16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2336
diff
changeset
|
829 |
fpath = os.path.join(self.img_path(), |
aa5954c06b9d
16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2336
diff
changeset
|
830 |
"usr/share/man/man1/foo.1") |
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
831 |
assert os.path.exists(fpath) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
832 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
833 |
# Now set facet.doc.man to false and verify faceted item is |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
834 |
# gone. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
835 |
self.pkg("change-facet facet.doc.man=false") |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
836 |
assert not os.path.exists(fpath) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
837 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
838 |
# Now attempt to set the facet to true again; this should |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
839 |
# fail. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
840 |
self.pkg("change-facet facet.doc.man=true", exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
841 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
842 |
# Verify graceful failure if source doesn't exist. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
843 |
self.pkg("change-facet -g %s facet.doc.man=true" % |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
844 |
(self.foo_arc + ".nosuchpkg"), exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
845 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
846 |
# Verify graceful failure if user doesn't have permission to |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
847 |
# access temporary source. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
848 |
self.pkg("change-facet -g %s facet.doc.man=true" % |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
849 |
self.perm_arc, su_wrap=True, exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
850 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
851 |
# Verify that if the original archive is provided, the operation |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
852 |
# will succeed. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
853 |
self.pkg("change-facet -g %s facet.doc.man=True" % self.foo_arc) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
854 |
assert os.path.exists(fpath) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
855 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
856 |
# |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
857 |
# Verify change-variant can use temporary origins. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
858 |
# |
2339
aa5954c06b9d
16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2336
diff
changeset
|
859 |
vpath = os.path.join(self.img_path(), |
aa5954c06b9d
16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2336
diff
changeset
|
860 |
"lib/libfoo.so.1") |
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
861 |
assert os.path.exists(vpath) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
862 |
self.assertEqual(os.stat(vpath).st_size, 15) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
863 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
864 |
# Now attempt to change the debug variant; this should fail. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
865 |
self.pkg("change-variant -vv variant.debug.foo=true", exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
866 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
867 |
# Verify graceful failure if source doesn't exist. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
868 |
self.pkg("change-variant -vvg %s variant.debug.foo=true" % |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
869 |
(self.foo_arc + ".nosuchpkg"), exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
870 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
871 |
# Verify graceful failure if user doesn't have permission to |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
872 |
# access temporary source. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
873 |
self.pkg("change-variant -vvg %s variant.debug.foo=true" % |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
874 |
self.perm_arc, su_wrap=True, exit=1) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
875 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
876 |
# Verify that if the original archive is provided, the operation |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
877 |
# will succeed. |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
878 |
self.pkg("change-variant -vvg %s variant.debug.foo=true" % |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
879 |
self.foo_arc) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
880 |
assert os.path.exists(vpath) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
881 |
self.assertEqual(os.stat(vpath).st_size, 21) |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
882 |
|
2690
11a8cae074e0
7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2593
diff
changeset
|
883 |
def test_05_staged_execution(self): |
11a8cae074e0
7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2593
diff
changeset
|
884 |
"""Verify that staged execution works with temporary |
11a8cae074e0
7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2593
diff
changeset
|
885 |
origins.""" |
11a8cae074e0
7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2593
diff
changeset
|
886 |
|
11a8cae074e0
7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2593
diff
changeset
|
887 |
# Create an image and verify no packages are known. |
11a8cae074e0
7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2593
diff
changeset
|
888 |
self.image_create(self.empty_rurl, prefix=None) |
11a8cae074e0
7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2593
diff
changeset
|
889 |
self.pkg("list -a", exit=1) |
11a8cae074e0
7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2593
diff
changeset
|
890 |
|
11a8cae074e0
7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2593
diff
changeset
|
891 |
# Install an older version of a known package. |
11a8cae074e0
7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2593
diff
changeset
|
892 |
self.pkg("install -g %s [email protected]" % self.all_arc) |
11a8cae074e0
7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2593
diff
changeset
|
893 |
self.pkg("list [email protected] [email protected]") |
11a8cae074e0
7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2593
diff
changeset
|
894 |
|
11a8cae074e0
7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2593
diff
changeset
|
895 |
# Verify that packages can be updated using temporary origins. |
11a8cae074e0
7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2593
diff
changeset
|
896 |
self.pkg("update --stage=plan -g %s -g %s" % |
11a8cae074e0
7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2593
diff
changeset
|
897 |
(self.incorp_arc, self.quux_arc)) |
11a8cae074e0
7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2593
diff
changeset
|
898 |
self.pkg("update --stage=prepare -g %s -g %s" % |
11a8cae074e0
7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2593
diff
changeset
|
899 |
(self.incorp_arc, self.quux_arc)) |
11a8cae074e0
7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2593
diff
changeset
|
900 |
self.pkg("update --stage=execute -g %s -g %s" % |
11a8cae074e0
7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2593
diff
changeset
|
901 |
(self.incorp_arc, self.quux_arc)) |
11a8cae074e0
7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2593
diff
changeset
|
902 |
self.pkg("list [email protected] [email protected]") |
11a8cae074e0
7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents:
2593
diff
changeset
|
903 |
|
2219
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
904 |
|
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
905 |
if __name__ == "__main__": |
60ad60f7592c
2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff
changeset
|
906 |
unittest.main() |