src/tests/cli/t_pkg_temp_sources.py
author Edward Pilatowicz <edward.pilatowicz@oracle.com>
Mon, 11 Jul 2011 13:49:50 -0700
changeset 2690 11a8cae074e0
parent 2593 39deb6a29774
child 2701 55bf0cb749ae
permissions -rw-r--r--
7140224 package downloaded messages displayed twice for each zone 7140127 pkg update with zones takes too long 7139809 image plan save logic should save merged actions
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 = """\
2310
ce10607d5332 11684 desire option to not propagate certs to non-global zones
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2286
diff changeset
   738
empty origin online %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 = """\
2310
ce10607d5332 11684 desire option to not propagate certs to non-global zones
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2286
diff changeset
   805
empty origin online %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()