src/tests/cli/t_pkg_temp_sources.py
author aditya.tuteja@oracle.com <aditya.tuteja@oracle.com>
Wed, 10 Sep 2014 03:54:52 -0700
changeset 3119 356762ddf386
parent 3000 7cf05f1a8ebd
child 3158 58c9c2c21e67
permissions -rw-r--r--
15489651 pkg info doesn't use the standard pkg.* and opensolaris.* field
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
#
3119
356762ddf386 15489651 pkg info doesn't use the standard pkg.* and opensolaris.* field
aditya.tuteja@oracle.com <aditya.tuteja@oracle.com>
parents: 3000
diff changeset
    24
# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
2690
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
2712
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
    88
        licensed_pkg_2 = """
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
    89
            open pkg://test2/[email protected]
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
    90
            add license tmp/LICENSE2 license=sample_license
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
    91
            close """
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
    92
2219
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    93
        signed_pkg = """
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    94
            open pkg://test/[email protected]
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    95
            add depend type=require [email protected]
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    96
            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
    97
            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
    98
            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
    99
            close """
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   100
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   101
        quux_pkg = """
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   102
            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
   103
            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
   104
            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
   105
            close
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   106
            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
   107
            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
   108
            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
   109
            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
   110
            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
   111
            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
   112
            close """
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   113
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   114
        misc_files = ["tmp/foo", "tmp/libfoo.so.1", "tmp/libfoo_debug.so.1",
2712
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   115
            "tmp/foo.1", "tmp/README", "tmp/LICENSE", "tmp/LICENSE2", "tmp/quux"]
2219
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   116
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   117
        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
   118
                if isinstance(certs, basestring):
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   119
                        certs = [certs]
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   120
                if not dest_dir:
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   121
                        dest_dir = self.ta_dir
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   122
                self.assert_(dest_dir)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   123
                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
   124
                for c in certs:
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   125
                        name = "%s_cert.pem" % c
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   126
                        portable.copyfile(
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   127
                            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
   128
                            os.path.join(dest_dir, name))
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   129
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   130
        def __publish_packages(self, rurl):
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   131
                """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
   132
                testing.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   133
                """
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
                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
   136
                    self.quux_pkg])
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   137
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   138
                # Publish packages needed for tests.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   139
                plist = self.pkgsend_bulk(rurl, pkgs)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   140
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   141
                # Sign the 'signed' package.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   142
                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
   143
                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
   144
                    "-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
   145
                      "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
   146
                      "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
   147
                      "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
   148
                          "ch1_ta1_cert.pem"),
938fbb350ad2 16867 pkgsign should handle existing signatures better
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
   149
                      "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
   150
                          "ch2_ta1_cert.pem"),
938fbb350ad2 16867 pkgsign should handle existing signatures better
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
   151
                      "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
   152
                          "ch3_ta1_cert.pem"),
938fbb350ad2 16867 pkgsign should handle existing signatures better
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
   153
                      "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
   154
                          "ch4_ta1_cert.pem"),
938fbb350ad2 16867 pkgsign should handle existing signatures better
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
   155
                      "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
   156
                          "ch5_ta1_cert.pem"),
938fbb350ad2 16867 pkgsign should handle existing signatures better
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
   157
                      "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
   158
                          "ch1_ta3_cert.pem"),
938fbb350ad2 16867 pkgsign should handle existing signatures better
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
   159
                      "pkg": plist[3]
938fbb350ad2 16867 pkgsign should handle existing signatures better
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2272
diff changeset
   160
                    }
2219
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   161
                self.pkgsign(rurl, sign_args)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   162
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   163
                # 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
   164
                # package was signed as expected.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   165
                self.image_create(rurl, prefix=None)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   166
                self.__seed_ta_dir("ta1")
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   167
                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
   168
                self.pkg("install signed")
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   169
                self.image_destroy()
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   170
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   171
                return [
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   172
                    fmri.PkgFmri(sfmri)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   173
                    for sfmri in plist
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   174
                ]
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
        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
   177
                """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
   178
                testing.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   179
                """
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
                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
   182
                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
   183
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   184
                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
   185
                for pfmri in plist:
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   186
                        arc.add_repo_package(pfmri, repo)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   187
                arc.close()
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   188
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   189
                return arc_path
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   190
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   191
        def setUp(self):
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   192
                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
   193
                    "empty", "test2"])
2219
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   194
                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
   195
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   196
                # First repository will contain all packages.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   197
                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
   198
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   199
                # Second repository will contain only foo.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   200
                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
   201
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   202
                # Third will be empty.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   203
                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
   204
2313
62501ec54db1 18222 pkg info --license can fail with "unknown publisher" when using -g
Shawn Walker <shawn.walker@oracle.com>
parents: 2310
diff changeset
   205
                # 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
   206
                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
   207
2219
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   208
                # Setup base test paths.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   209
                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
   210
                    "signing_certs", "produced")
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   211
                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
   212
                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
   213
                    "code_signing_certs")
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   214
                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
   215
                    "chain_certs")
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   216
                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
   217
                    "trust_anchors")
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   218
                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
   219
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   220
                # Publish packages.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   221
                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
   222
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   223
                # Copy foo to second repository.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   224
                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
   225
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   226
                # 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
   227
                # then one for each.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   228
                repo = self.dcs[1].get_repo()
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   229
                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
   230
                    plist)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   231
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   232
                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
   233
                    [plist[4], plist[5]]):
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   234
                        arc_path = self.__archive_packages(
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   235
                            "%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
   236
                        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
   237
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   238
                self.ta_dir = None
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   239
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   240
                # 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
   241
                # unprivileged user access attempts.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   242
                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
   243
                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
   244
                os.chmod(self.perm_arc, 0)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   245
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   246
                # Create an empty archive.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   247
                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
   248
                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
   249
                arc.close()
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   250
                self.empty_arc = arc_path
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   251
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   252
                # Store FMRIs for later use.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   253
                self.foo10 = plist[0]
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   254
                self.incorp10 = plist[1]
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   255
                self.incorp20 = plist[2]
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   256
                self.signed10 = plist[3]
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   257
                self.quux01 = plist[4]
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   258
                self.quux10 = plist[5]
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   259
2313
62501ec54db1 18222 pkg info --license can fail with "unknown publisher" when using -g
Shawn Walker <shawn.walker@oracle.com>
parents: 2310
diff changeset
   260
                # 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
   261
                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
   262
                    self.licensed_pkg)[0]
2712
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   263
                self.licensed20 = self.pkgsend_bulk(self.licensed_rurl,
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   264
                    self.licensed_pkg_2)[0]
2313
62501ec54db1 18222 pkg info --license can fail with "unknown publisher" when using -g
Shawn Walker <shawn.walker@oracle.com>
parents: 2310
diff changeset
   265
2219
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   266
        def test_00_list(self):
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   267
                """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
   268
                temporary origins.
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
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   271
                # 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
   272
                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
   273
                self.pkg("list -a", exit=1)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   274
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   275
                # 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
   276
                # combination with another temporary source.
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" % self.empty_arc, exit=1)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   278
                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
   279
                    self.foo_arc), exit=1)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   280
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   281
                # 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
   282
                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
   283
                    exit=1)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   284
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   285
                # 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
   286
                # access temporary source.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   287
                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
   288
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   289
                # 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
   290
                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
   291
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   292
                # 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
   293
                # -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
   294
                # 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
   295
                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
   296
                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
   297
                output = self.reduceSpaces(self.output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   298
                self.assertEqualDiff(expected, output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   299
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   300
                # 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
   301
                # the following tests purposefully omit it.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   302
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   303
                # 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
   304
                # as an unprivileged user.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   305
                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
   306
                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
   307
                    ("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
   308
                    "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
   309
                    "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
   310
                    "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
   311
                    "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
   312
                    "signed (test) 1.0 ---\n")
2219
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   313
                output = self.reduceSpaces(self.output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   314
                self.assertEqualDiff(expected, output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   315
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   316
                # 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
   317
                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
   318
                output = self.reduceSpaces(self.output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   319
                self.assertEqualDiff(expected, output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   320
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   321
                # 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
   322
                # different combinations of archives and repositories.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   323
                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
   324
                    self.foo_rurl))
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   325
                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
   326
                    ("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
   327
                    "signed (test) 1.0 ---\n")
2219
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   328
                output = self.reduceSpaces(self.output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   329
                self.assertEqualDiff(expected, output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   330
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   331
                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
   332
                    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
   333
                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
   334
                    ("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
   335
                    "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
   336
                    "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
   337
                    "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
   338
                    "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
   339
                    "signed (test) 1.0 ---\n")
2219
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   340
                output = self.reduceSpaces(self.output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   341
                self.assertEqualDiff(expected, output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   342
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   343
                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
   344
                    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
   345
                output = self.reduceSpaces(self.output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   346
                self.assertEqualDiff(expected, output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   347
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   348
                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
   349
                    self.all_rurl))
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   350
                output = self.reduceSpaces(self.output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   351
                self.assertEqualDiff(expected, output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   352
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   353
                # Verify list -g without -f.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   354
                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
   355
                    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
   356
                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
   357
                    ("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
   358
                    "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
   359
                    "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
   360
                    "signed (test) 1.0 ---\n")
2219
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   361
                output = self.reduceSpaces(self.output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   362
                self.assertEqualDiff(expected, output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   363
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   364
                # 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
   365
                # output.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   366
                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
   367
                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
   368
                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
   369
                output = self.reduceSpaces(self.output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   370
                self.assertEqualDiff(expected, output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   371
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   372
                # 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
   373
                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
   374
                    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
   375
                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
   376
                    ("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
   377
                    "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
   378
                    "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
   379
                    "signed (test) 1.0 ---\n")
2219
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   380
                output = self.reduceSpaces(self.output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   381
                self.assertEqualDiff(expected, output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   382
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   383
                # Verify output again as unprivileged user.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   384
                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
   385
                    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
   386
                    su_wrap=True)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   387
                output = self.reduceSpaces(self.output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   388
                self.assertEqualDiff(expected, output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   389
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   390
                # 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
   391
                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
   392
                    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
   393
                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
   394
                    ("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
   395
                    "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
   396
                    "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
   397
                    "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
   398
                    "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
   399
                    "signed (test) 1.0 ---\n")
2219
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   400
                output = self.reduceSpaces(self.output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   401
                self.assertEqualDiff(expected, output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   402
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   403
                # 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
   404
                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
   405
                    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
   406
                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
   407
                    ("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
   408
                    "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
   409
                    "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
   410
                    "signed (test) 1.0 ---\n")
2219
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   411
                output = self.reduceSpaces(self.output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   412
                self.assertEqualDiff(expected, output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   413
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   414
                # 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
   415
                self.pkg("uninstall \*")
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   416
                self.pkg("list -af", exit=1)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   417
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   418
                # Cleanup.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   419
                self.image_destroy()
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   420
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   421
        def test_01_info(self):
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   422
                """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
   423
                temporary origins.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   424
                """
2915
a7756acea9ef 17075980 pkg strips newlines from release notes
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 2753
diff changeset
   425
		# because we compare date strings we must run this in
a7756acea9ef 17075980 pkg strips newlines from release notes
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 2753
diff changeset
   426
		# a consistent locale, which we made 'C'
a7756acea9ef 17075980 pkg strips newlines from release notes
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 2753
diff changeset
   427
a7756acea9ef 17075980 pkg strips newlines from release notes
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 2753
diff changeset
   428
		os.environ['LC_ALL'] = 'C'
2219
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   429
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   430
                # 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
   431
                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
   432
                self.pkg("list -a", exit=1)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   433
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   434
                # 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
   435
                # combination with another temporary source.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   436
                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
   437
                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
   438
                    self.foo_arc), exit=1)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   439
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   440
                # 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
   441
                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
   442
                    exit=1)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   443
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   444
                # 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
   445
                # access temporary source.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   446
                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
   447
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   448
                # 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
   449
                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
   450
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   451
                # 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
   452
                # -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
   453
                # 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
   454
                def pd(pfmri):
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   455
                        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
   456
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   457
                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
   458
                expected = """\
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   459
          Name: foo
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   460
       Summary: Example package foo.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   461
         State: Not installed
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   462
     Publisher: test
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   463
       Version: 1.0
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   464
        Branch: None
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   465
Packaging Date: %(pkg_date)s
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   466
          Size: 41.00 B
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   467
          FMRI: %(pkg_fmri)s
2958
868e07939116 16851082 build_release (aka build version) should not be displayed
Yiteng Zhang <yiteng.zhang@oracle.com>
parents: 2915
diff changeset
   468
""" % { "pkg_date": pd(self.foo10), "pkg_fmri": self.foo10.get_fmri(
868e07939116 16851082 build_release (aka build version) should not be displayed
Yiteng Zhang <yiteng.zhang@oracle.com>
parents: 2915
diff changeset
   469
    include_build=False) }
2219
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   470
                self.assertEqualDiff(expected, self.output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   471
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   472
                # Again, as prvileged user.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   473
                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
   474
                self.assertEqualDiff(expected, self.output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   475
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   476
                # 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
   477
                # the following tests purposefully omit it.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   478
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   479
                # 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
   480
                # as an unprivileged user.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   481
                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
   482
                expected = """\
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   483
          Name: foo
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   484
       Summary: Example package foo.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   485
         State: Not installed
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   486
     Publisher: test
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   487
       Version: 1.0
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   488
        Branch: None
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   489
Packaging Date: %(foo10_pkg_date)s
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   490
          Size: 41.00 B
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   491
          FMRI: %(foo10_pkg_fmri)s
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   492
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   493
          Name: incorp
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   494
       Summary: Incorporation
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   495
         State: Not installed
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   496
     Publisher: test
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   497
       Version: 2.0
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   498
        Branch: None
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   499
Packaging Date: %(incorp20_pkg_date)s
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   500
          Size: 0.00 B
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   501
          FMRI: %(incorp20_pkg_fmri)s
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   502
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   503
          Name: quux
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   504
       Summary: Example package quux.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   505
         State: Not installed
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   506
     Publisher: test2
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   507
       Version: 1.0
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   508
        Branch: 0.2
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   509
Packaging Date: %(quux10_pkg_date)s
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   510
          Size: 8.00 B
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   511
          FMRI: %(quux10_pkg_fmri)s
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   512
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   513
          Name: signed
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   514
         State: Not installed
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   515
     Publisher: test
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   516
       Version: 1.0
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
3000
7cf05f1a8ebd 17913496 certificates for test suite are expiring
Yiteng Zhang <yiteng.zhang@oracle.com>
parents: 2958
diff changeset
   519
          Size: 7.81 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
2958
868e07939116 16851082 build_release (aka build version) should not be displayed
Yiteng Zhang <yiteng.zhang@oracle.com>
parents: 2915
diff changeset
   521
""" % { "foo10_pkg_date": pd(self.foo10), "foo10_pkg_fmri": \
868e07939116 16851082 build_release (aka build version) should not be displayed
Yiteng Zhang <yiteng.zhang@oracle.com>
parents: 2915
diff changeset
   522
        self.foo10.get_fmri(include_build=False),
868e07939116 16851082 build_release (aka build version) should not be displayed
Yiteng Zhang <yiteng.zhang@oracle.com>
parents: 2915
diff changeset
   523
    "incorp20_pkg_date": pd(self.incorp20), "incorp20_pkg_fmri": \
868e07939116 16851082 build_release (aka build version) should not be displayed
Yiteng Zhang <yiteng.zhang@oracle.com>
parents: 2915
diff changeset
   524
        self.incorp20.get_fmri(include_build=False),
868e07939116 16851082 build_release (aka build version) should not be displayed
Yiteng Zhang <yiteng.zhang@oracle.com>
parents: 2915
diff changeset
   525
    "quux10_pkg_date": pd(self.quux10), "quux10_pkg_fmri": \
868e07939116 16851082 build_release (aka build version) should not be displayed
Yiteng Zhang <yiteng.zhang@oracle.com>
parents: 2915
diff changeset
   526
        self.quux10.get_fmri(include_build=False),
868e07939116 16851082 build_release (aka build version) should not be displayed
Yiteng Zhang <yiteng.zhang@oracle.com>
parents: 2915
diff changeset
   527
    "signed10_pkg_date": pd(self.signed10), "signed10_pkg_fmri": \
868e07939116 16851082 build_release (aka build version) should not be displayed
Yiteng Zhang <yiteng.zhang@oracle.com>
parents: 2915
diff changeset
   528
        self.signed10.get_fmri(include_build=False),
2219
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   529
    }
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   530
                self.assertEqualDiff(expected, self.output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   531
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   532
                # 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
   533
                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
   534
                    "[email protected]" % self.all_arc)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   535
                self.assertEqualDiff(expected, self.output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   536
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   537
                # 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
   538
                # different combinations of archives and repositories.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   539
                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
   540
                    self.signed_arc, self.foo_rurl))
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   541
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   542
                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
   543
                    "[email protected] [email protected]" % (
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   544
                    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
   545
                    self.foo_arc))
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   546
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   547
                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
   548
                    "[email protected] [email protected]" % (
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   549
                    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
   550
                    self.foo_rurl))
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   551
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   552
                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
   553
                    "[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
   554
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   555
                # 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
   556
                # output.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   557
                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
   558
                self.pkg("info")
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   559
                expected = """\
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   560
          Name: foo
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   561
       Summary: Example package foo.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   562
         State: Installed
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   563
     Publisher: test
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   564
       Version: 1.0
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   565
        Branch: None
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   566
Packaging Date: %(pkg_date)s
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   567
          Size: 41.00 B
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   568
          FMRI: %(pkg_fmri)s
2958
868e07939116 16851082 build_release (aka build version) should not be displayed
Yiteng Zhang <yiteng.zhang@oracle.com>
parents: 2915
diff changeset
   569
""" % { "pkg_date": pd(self.foo10), "pkg_fmri": self.foo10.get_fmri(
868e07939116 16851082 build_release (aka build version) should not be displayed
Yiteng Zhang <yiteng.zhang@oracle.com>
parents: 2915
diff changeset
   570
    include_build=False) }
2219
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   571
                self.assertEqualDiff(expected, self.output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   572
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   573
                # 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
   574
                # 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
   575
                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
   576
                self.assertEqualDiff(expected, self.output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   577
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   578
                # 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
   579
                self.pkg("uninstall \*")
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   580
                self.pkg("info -r \*", exit=1)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   581
2313
62501ec54db1 18222 pkg info --license can fail with "unknown publisher" when using -g
Shawn Walker <shawn.walker@oracle.com>
parents: 2310
diff changeset
   582
                # Verify that --license works as expected with -g.
2712
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   583
                self.pkg("info -g %s --license [email protected]" %
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   584
                    self.licensed_rurl)
2313
62501ec54db1 18222 pkg info --license can fail with "unknown publisher" when using -g
Shawn Walker <shawn.walker@oracle.com>
parents: 2310
diff changeset
   585
                self.assertEqualDiff("tmp/LICENSE\n", self.output)
2712
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   586
                self.pkg("info -g %s --license licensed" %
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   587
                    self.licensed_rurl)
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   588
                self.assertEqualDiff("tmp/LICENSE2\n", self.output)
2313
62501ec54db1 18222 pkg info --license can fail with "unknown publisher" when using -g
Shawn Walker <shawn.walker@oracle.com>
parents: 2310
diff changeset
   589
2219
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   590
                # Cleanup.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   591
                self.image_destroy()
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   592
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   593
        def test_02_contents(self):
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   594
                """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
   595
                temporary origins.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   596
                """
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   597
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   598
                # 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
   599
                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
   600
                self.pkg("list -a", exit=1)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   601
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   602
                # 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
   603
                # combination with another temporary source.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   604
                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
   605
                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
   606
                    self.foo_arc), exit=1)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   607
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   608
                # 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
   609
                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
   610
                    exit=1)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   611
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   612
                # 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
   613
                # access temporary source.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   614
                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
   615
                    exit=1)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   616
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   617
                # 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
   618
                # -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
   619
                # 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
   620
                def pd(pfmri):
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   621
                        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
   622
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   623
                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
   624
                expected = """\
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   625
set name=pkg.fmri value=%s
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   626
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
   627
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
   628
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
   629
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
   630
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
   631
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
   632
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
   633
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
   634
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
   635
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
   636
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
   637
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
   638
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
   639
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
   640
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
   641
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
   642
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
   643
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
   644
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
   645
""" % self.foo10
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
                # Again, as prvileged user.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   648
                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
   649
                self.assertEqualDiff(sorted(expected.splitlines()),
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   650
                    sorted(self.output.splitlines()))
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
                # 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
   653
                # the following tests purposefully omit it.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   654
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   655
                # 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
   656
                # different combinations of archives and repositories.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   657
                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
   658
                    "[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
   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 -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
   661
                    "[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
   662
                    self.quux_arc, self.foo_arc))
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   663
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   664
                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
   665
                    "[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
   666
                    self.quux_arc, self.foo_rurl))
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
                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
   669
                    "[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
   670
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   671
                # 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
   672
                # contents.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   673
                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
   674
                self.pkg("contents foo")
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   675
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   676
                # 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
   677
                self.pkg("uninstall \*")
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   678
                self.pkg("contents -r \*", exit=1)
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
                # Cleanup.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   681
                self.image_destroy()
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   682
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   683
        def test_03_install_update(self):
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   684
                """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
   685
                origins.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   686
                """
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   687
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   688
                #
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
   689
                # 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
   690
                # 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
   691
                # 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
   692
                #
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
                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
   694
                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
   695
                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
   696
                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
   697
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
                #
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
                # 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
   700
                # 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
   701
                # 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
   702
                #
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.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
   704
                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
   705
                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
   706
                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
   707
                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
   708
                # --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
   709
                # 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
   710
                # 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
   711
                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
   712
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
   713
                #
2219
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   714
                # 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
   715
                #
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   716
                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
   717
                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
   718
                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
   719
                    "test")
2219
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   720
                self.pkg("list -a", exit=1)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   721
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   722
                # 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
   723
                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
   724
                    exit=1)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   725
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   726
                # 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
   727
                # access temporary source.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   728
                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
   729
                    exit=1)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   730
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   731
                # 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
   732
                # dependency fails gracefully.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   733
                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
   734
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   735
                # 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
   736
                # 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
   737
                # 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
   738
                # but without any origin information.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   739
                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
   740
                self.pkg("list foo")
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   741
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   742
                # 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
   743
                # 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
   744
                self.pkg("publisher -nH")
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   745
                expected = """\
2701
55bf0cb749ae 7136244 granular configuration of http_proxy option
Tim Foster <tim.s.foster@oracle.com>
parents: 2690
diff changeset
   746
empty origin online F %s/
2219
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   747
test 
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   748
""" % self.empty_rurl
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   749
                output = self.reduceSpaces(self.output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   750
                self.assertEqualDiff(expected, output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   751
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   752
                # 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
   753
                # dependency was satisfied.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   754
                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
   755
                self.pkg("list foo signed")
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
                # 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
   758
                # even though publisher remains configured.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   759
                self.pkg("uninstall \*")
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   760
                self.pkg("list -af", exit=1)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   761
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   762
                # Verify publisher can be removed.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   763
                self.pkg("unset-publisher test")
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   764
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   765
                #
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   766
                # 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
   767
                #
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   768
                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
   769
                self.__seed_ta_dir("ta1")
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   770
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   771
                # 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
   772
                # 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
   773
                # satisfied.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   774
                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
   775
                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
   776
                self.pkg("list foo signed")
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
                # 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
   779
                self.pkg("uninstall \*")
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   780
                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
   781
                expected = "foo 1.0 ---\n"
2219
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   782
                output = self.reduceSpaces(self.output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   783
                self.assertEqualDiff(expected, output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   784
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   785
                #
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   786
                # 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
   787
                #
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   788
                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
   789
                self.pkg("list -a", 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
                # 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
   792
                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
   793
                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
   794
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   795
                # 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
   796
                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
   797
                    exit=1)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   798
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   799
                # 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
   800
                # access temporary source.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   801
                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
   802
                    exit=1)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   803
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   804
                # 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
   805
                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
   806
                    self.quux_arc))
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   807
                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
   808
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   809
                # 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
   810
                # origins.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   811
                self.pkg("publisher -H")
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   812
                expected = """\
2701
55bf0cb749ae 7136244 granular configuration of http_proxy option
Tim Foster <tim.s.foster@oracle.com>
parents: 2690
diff changeset
   813
empty origin online F %s/
2219
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   814
test 
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   815
test2 
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   816
""" % self.empty_rurl
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   817
                output = self.reduceSpaces(self.output)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   818
                self.assertEqualDiff(expected, output)
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
        def test_04_change_varcets(self):
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   821
                """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
   822
                for temporary origins.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   823
                """
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   824
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
                # 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
   827
                #
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   828
                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
   829
                self.pkg("list -a", exit=1)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   830
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   831
                # Install a package from an archive.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   832
                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
   833
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   834
                #
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   835
                # 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
   836
                #
2339
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2336
diff changeset
   837
                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
   838
                    "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
   839
                assert os.path.exists(fpath)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   840
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   841
                # 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
   842
                # gone.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   843
                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
   844
                assert not os.path.exists(fpath)
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
                # 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
   847
                # fail.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   848
                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
   849
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   850
                # 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
   851
                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
   852
                    (self.foo_arc + ".nosuchpkg"), exit=1)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   853
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   854
                # 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
   855
                # access temporary source.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   856
                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
   857
                    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
   858
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   859
                # 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
   860
                # will succeed.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   861
                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
   862
                assert os.path.exists(fpath)
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
                #
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   865
                # 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
   866
                #
2339
aa5954c06b9d 16148 need linked image support for zones, phase 1
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2336
diff changeset
   867
                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
   868
                    "lib/libfoo.so.1")
2219
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   869
                assert os.path.exists(vpath)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   870
                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
   871
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   872
                # 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
   873
                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
   874
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   875
                # 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
   876
                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
   877
                    (self.foo_arc + ".nosuchpkg"), exit=1)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   878
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   879
                # 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
   880
                # access temporary source.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   881
                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
   882
                    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
   883
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   884
                # 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
   885
                # will succeed.
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   886
                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
   887
                    self.foo_arc)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   888
                assert os.path.exists(vpath)
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   889
                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
   890
2690
11a8cae074e0 7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2593
diff changeset
   891
        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
   892
                """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
   893
                origins."""
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
                # 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
   896
                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
   897
                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
   898
11a8cae074e0 7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2593
diff changeset
   899
                # 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
   900
                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
   901
                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
   902
11a8cae074e0 7140224 package downloaded messages displayed twice for each zone
Edward Pilatowicz <edward.pilatowicz@oracle.com>
parents: 2593
diff changeset
   903
                # 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
   904
                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
   905
                    (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
   906
                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
   907
                    (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
   908
                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
   909
                    (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
   910
                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
   911
2712
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   912
        def test_06_appropriate_license_files(self):
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   913
                """Verify that the correct license file is displayed."""
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   914
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   915
                self.image_create()
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   916
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   917
                self.pkg("info -g %s --license licensed" % self.licensed_rurl)
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   918
                self.assertEqual("tmp/LICENSE2\n", self.output)
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   919
                self.pkg("info -g %s --license [email protected]" %
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   920
                    self.licensed_rurl)
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   921
                self.assertEqual("tmp/LICENSE\n", self.output)
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   922
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   923
                self.pkg("install -g %s --licenses [email protected]" %
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   924
                    self.licensed_rurl)
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   925
                self.assert_("tmp/LICENSE" in self.output, "Expected "
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   926
                    "tmp/LICENSE to be in the output of the install. Output "
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   927
                    "was:\n%s" % self.output)
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   928
                self.pkg("info -g %s --license licensed" % self.licensed_rurl)
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   929
                self.assertEqual("tmp/LICENSE2\n", self.output)
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   930
                self.pkg("info -g %s --license [email protected]" %
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   931
                    self.licensed_rurl)
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   932
                self.assertEqual("tmp/LICENSE2\n", self.output)
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   933
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   934
                self.pkg("update -g %s --licenses [email protected]" %
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   935
                    self.licensed_rurl)
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   936
                self.assert_("tmp/LICENSE2" in self.output, "Expected "
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   937
                    "tmp/LICENSE2 to be in the output of the install. Output "
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   938
                    "was:\n%s" % self.output)
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   939
                self.pkg("info -g %s --license licensed" % self.licensed_rurl)
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   940
                self.assertEqual("tmp/LICENSE2\n", self.output)
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   941
                self.pkg("info -g %s --license [email protected]" %
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   942
                    self.licensed_rurl)
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   943
                self.assertEqual("tmp/LICENSE\n", self.output)
d5ec8c11512a 7177231 displayed license is always for installed copy if license file is present
Brock Pytlik <brock.pytlik@oracle.com>
parents: 2701
diff changeset
   944
2219
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   945
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   946
if __name__ == "__main__":
60ad60f7592c 2152 standalone package support needed (on-disk format)
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
   947
        unittest.main()