src/tests/cli/t_api_search.py
author Brock Pytlik <bpytlik@sun.com>
Mon, 06 Apr 2009 16:45:44 -0700
changeset 1009 01f531556b53
parent 996 31d152a5212b
child 1054 9cb4a6f869af
permissions -rw-r--r--
7358 Depot throws a stack trace when started with an old index (should rebuild)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
941
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
     1
#!/usr/bin/python2.4
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
     2
#
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
     3
# CDDL HEADER START
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
     4
#
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
     5
# The contents of this file are subject to the terms of the
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
     6
# Common Development and Distribution License (the "License").
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
     7
# You may not use this file except in compliance with the License.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
     8
#
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
     9
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    10
# or http://www.opensolaris.org/os/licensing.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    11
# See the License for the specific language governing permissions
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    12
# and limitations under the License.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    13
#
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    14
# When distributing Covered Code, include this CDDL HEADER in each
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    15
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    16
# If applicable, add the following below this CDDL HEADER, with the
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    17
# fields enclosed by brackets "[]" replaced with your own identifying
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    18
# information: Portions Copyright [yyyy] [name of copyright owner]
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    19
#
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    20
# CDDL HEADER END
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    21
#
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    22
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    23
# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    24
# Use is subject to license terms.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    25
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    26
import testutils
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    27
if __name__ == "__main__":
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    28
	testutils.setup_environment("../../../proto")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    29
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    30
import unittest
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    31
import os
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    32
import sys
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    33
import copy
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    34
import re
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    35
import shutil
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    36
import difflib
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    37
import time
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    38
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    39
import pkg.client.api as api
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    40
import pkg.client.api_errors as api_errors
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    41
import pkg.client.query_parser as query_parser
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    42
import pkg.client.progress as progress
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    43
import pkg.fmri as fmri
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    44
import pkg.portable as portable
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    45
import pkg.search_storage as ss
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    46
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    47
API_VERSION = 12
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    48
PKG_CLIENT_NAME = "pkg"
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    49
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    50
class TestApiSearchBasics(testutils.SingleDepotTestCase):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    51
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    52
        example_pkg10 = """
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    53
            open [email protected],5.11-0
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    54
            add dir mode=0755 owner=root group=bin path=/bin
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    55
            add dir mode=0755 owner=root group=bin path=/bin/example_dir
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    56
            add dir mode=0755 owner=root group=bin path=/usr/lib/python2.4/vendor-packages/OpenSSL
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    57
            add file /tmp/example_file mode=0555 owner=root group=bin path=/bin/example_path
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    58
            add set name=com.sun.service.incorporated_changes value="6556919 6627937"
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    59
            add set name=com.sun.service.random_test value=42 value=79
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    60
            add set name=com.sun.service.bug_ids value="4641790 4725245 4817791 4851433 4897491 4913776 6178339 6556919 6627937"
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    61
            add set name=com.sun.service.keywords value="sort null -n -m -t sort 0x86 separator"
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    62
            add set name=com.sun.service.info_url value=http://service.opensolaris.com/xml/pkg/[email protected],5.11-1:20080514I120000Z
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    63
            add set description='FOOO bAr O OO OOO'
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    64
            add set name='weirdness' value='] [ * ?'
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    65
            close """
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    66
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    67
        example_pkg11 = """
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    68
            open [email protected],5.11-0
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    69
            add dir mode=0755 owner=root group=bin path=/bin
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    70
            add file /tmp/example_file mode=0555 owner=root group=bin path=/bin/example_path11
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    71
            close """
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    72
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    73
        another_pkg10 = """
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    74
            open [email protected],5.11-0
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    75
            add dir mode=0755 owner=root group=bin path=/bin
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    76
            add dir mode=0755 owner=root group=bin path=/bin/another_dir
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    77
            add file /tmp/example_file mode=0555 owner=root group=bin path=/bin/another_path
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    78
            add set name=com.sun.service.incorporated_changes value="6556919 6627937"
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    79
            add set name=com.sun.service.random_test value=42 value=79
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    80
            add set name=com.sun.service.bug_ids value="4641790 4725245 4817791 4851433 4897491 4913776 6178339 6556919 6627937"
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    81
            add set name=com.sun.service.keywords value="sort null -n -m -t sort 0x86 separator"
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    82
            add set name=com.sun.service.info_url value=http://service.opensolaris.com/xml/pkg/[email protected],5.11-1:20080514I120000Z
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    83
            close """
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    84
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    85
        bad_pkg10 = """
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    86
            open [email protected],5.11-0
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    87
            add dir path=foo/ mode=0755 owner=root group=bin
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    88
            add dir path=/ mode=0755 owner=root group=bin
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    89
            close """
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    90
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    91
        space_pkg10 = """
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    92
            open [email protected],5.11-0
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    93
            add file /tmp/example_file mode=0444 owner=nobody group=sys path='unique/with a space'
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    94
            add dir mode=0755 owner=root group=bin path=unique_dir
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    95
            close """
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    96
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    97
        cat_pkg10 = """
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    98
            open [email protected],5.11-0
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
    99
            add set name=info.classification value=org.opensolaris.category.2008:System/Security
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   100
            close """
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   101
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   102
        cat2_pkg10 = """
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   103
            open [email protected],5.11-0
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   104
            add set name=info.classification value="org.opensolaris.category.2008:Applications/Sound and Video"
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   105
            close """
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   106
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   107
        cat3_pkg10 = """
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   108
            open [email protected],5.11-0
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   109
            add set name=info.classification value="org.opensolaris.category.2008:foo/bar/baz/bill/beam/asda"
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   110
            close """
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   111
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   112
        bad_cat_pkg10 = """
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   113
            open [email protected],5.11-0
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   114
            add set name=info.classification value="TestBad1/TestBad2"
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   115
            close """
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   116
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   117
        bad_cat2_pkg10 = """
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   118
            open [email protected],5.11-0
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   119
            add set name=info.classification value="org.opensolaris.category.2008:TestBad1:TestBad2"
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   120
            close """
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   121
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   122
        res_remote_path = set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   123
            ("pkg:/[email protected]", "basename","file 820157a2043e3135f342b238129b556aade20347 chash=bfa46fc98d1ca97f1260090797d35a35e76096a3 group=bin mode=0555 owner=root path=bin/example_path pkg.csize=38 pkg.size=18")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   124
        ])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   125
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   126
        res_remote_bin = set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   127
            ("pkg:/[email protected]", "path", "dir group=bin mode=0755 owner=root path=bin")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   128
        ])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   129
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   130
        res_remote_openssl = set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   131
            ("pkg:/[email protected]", "basename", "dir group=bin mode=0755 owner=root path=usr/lib/python2.4/vendor-packages/OpenSSL")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   132
        ])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   133
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   134
        res_remote_bug_id = set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   135
            ("pkg:/[email protected]", "4851433", 'set name=com.sun.service.bug_ids value="4641790 4725245 4817791 4851433 4897491 4913776 6178339 6556919 6627937"')
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   136
        ])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   137
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   138
        res_remote_inc_changes = set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   139
            ("pkg:/[email protected]", "6556919", 'set name=com.sun.service.incorporated_changes value="6556919 6627937"'),
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   140
            ("pkg:/[email protected]", "6556919", 'set name=com.sun.service.bug_ids value="4641790 4725245 4817791 4851433 4897491 4913776 6178339 6556919 6627937"')
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   141
              
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   142
        ])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   143
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   144
        res_remote_random_test = set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   145
            ("pkg:/[email protected]", "42", "set name=com.sun.service.random_test value=42 value=79")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   146
        ])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   147
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   148
        res_remote_keywords = set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   149
            ("pkg:/[email protected]", "separator", 'set name=com.sun.service.keywords value="sort null -n -m -t sort 0x86 separator"')
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   150
        ])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   151
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   152
        res_remote_wildcard = res_remote_path.union(set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   153
            ('pkg:/[email protected]', 'basename', 'dir group=bin mode=0755 owner=root path=bin/example_dir')
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   154
        ]))
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   155
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   156
        headers = ""
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   157
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   158
        res_remote_glob = set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   159
            ('pkg:/[email protected]', 'path', 'dir group=bin mode=0755 owner=root path=bin/example_dir'),
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   160
            ('pkg:/[email protected]', 'basename', 'dir group=bin mode=0755 owner=root path=bin/example_dir'),
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   161
            ('pkg:/[email protected]', 'path', 'file 820157a2043e3135f342b238129b556aade20347 chash=bfa46fc98d1ca97f1260090797d35a35e76096a3 group=bin mode=0555 owner=root path=bin/example_path pkg.csize=38 pkg.size=18')
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   162
        ]) | res_remote_path
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   163
                                
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   164
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   165
        res_remote_foo = set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   166
            ('pkg:/[email protected]', 'FOOO', 'set name=description value="FOOO bAr O OO OOO"')
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   167
        ])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   168
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   169
        res_remote_bar = set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   170
            ('pkg:/[email protected]', 'bAr', 'set name=description value="FOOO bAr O OO OOO"')
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   171
        ])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   172
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   173
        res_remote_star = set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   174
            ('pkg:/[email protected]', '*', 'set name=weirdness value="] [ * ?"')
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   175
        ])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   176
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   177
        res_remote_mark = set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   178
            ('pkg:/[email protected]', '?', 'set name=weirdness value="] [ * ?"')
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   179
        ])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   180
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   181
        res_remote_left_brace = set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   182
            ('pkg:/[email protected]', '[', 'set name=weirdness value="] [ * ?"')
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   183
        ])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   184
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   185
        res_remote_right_brace = set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   186
            ('pkg:/[email protected]', ']', 'set name=weirdness value="] [ * ?"')    
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   187
        ])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   188
        
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   189
        local_fmri_string = \
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   190
            ('pkg:/[email protected]', 'example_pkg', '')
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   191
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   192
        res_local_pkg = set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   193
                local_fmri_string
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   194
                ])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   195
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   196
        res_local_path = copy.copy(res_remote_path)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   197
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   198
        res_local_bin = copy.copy(res_remote_bin)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   199
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   200
        res_local_bug_id = copy.copy(res_remote_bug_id)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   201
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   202
        res_local_inc_changes = copy.copy(res_remote_inc_changes)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   203
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   204
        res_local_random_test = copy.copy(res_remote_random_test)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   205
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   206
        res_local_keywords = copy.copy(res_remote_keywords)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   207
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   208
        res_local_wildcard = copy.copy(res_remote_wildcard)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   209
        res_local_wildcard.add(local_fmri_string)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   210
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   211
        res_local_glob = copy.copy(res_remote_glob)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   212
        res_local_glob.add(local_fmri_string)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   213
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   214
        res_local_foo = copy.copy(res_remote_foo)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   215
        res_local_bar = copy.copy(res_remote_bar)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   216
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   217
        res_local_openssl = copy.copy(res_remote_openssl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   218
        
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   219
        res_local_path_example11 = set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   220
            ("pkg:/[email protected]", "basename", "file 820157a2043e3135f342b238129b556aade20347 chash=bfa46fc98d1ca97f1260090797d35a35e76096a3 group=bin mode=0555 owner=root path=bin/example_path11 pkg.csize=38 pkg.size=18")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   221
        ])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   222
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   223
        res_local_bin_example11 = set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   224
            ("pkg:/[email protected]", "path", "dir group=bin mode=0755 owner=root path=bin")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   225
        ])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   226
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   227
        res_local_wildcard_example11 = set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   228
            ("pkg:/[email protected]", "basename", "file 820157a2043e3135f342b238129b556aade20347 chash=bfa46fc98d1ca97f1260090797d35a35e76096a3 group=bin mode=0555 owner=root path=bin/example_path11 pkg.csize=38 pkg.size=18"),
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   229
            ("pkg:/[email protected]", "example_pkg", "")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   230
       ])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   231
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   232
        res_local_pkg_example11 = set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   233
            ("pkg:/[email protected]", "example_pkg", "")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   234
        ])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   235
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   236
        res_cat_pkg10 = set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   237
            ('pkg:/[email protected]', 'System/Security', 'set name=info.classification value=org.opensolaris.category.2008:System/Security')
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   238
        ])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   239
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   240
        res_cat2_pkg10 = set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   241
            ('pkg:/[email protected]', 'Applications/Sound and Video', 'set name=info.classification value="org.opensolaris.category.2008:Applications/Sound and Video"')
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   242
        ])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   243
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   244
        res_cat3_pkg10 = set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   245
            ('pkg:/[email protected]', 'foo/bar/baz/bill/beam/asda', 'set name=info.classification value=org.opensolaris.category.2008:foo/bar/baz/bill/beam/asda')
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   246
        ])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   247
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   248
        res_space_with_star = set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   249
            ('pkg:/[email protected]', 'basename', 'file 820157a2043e3135f342b238129b556aade20347 chash=bfa46fc98d1ca97f1260090797d35a35e76096a3 group=sys mode=0444 owner=nobody path="unique/with a space" pkg.csize=38 pkg.size=18')
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   250
        ])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   251
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   252
        res_space_space_star = set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   253
            ('pkg:/[email protected]', 'basename', 'file 820157a2043e3135f342b238129b556aade20347 chash=bfa46fc98d1ca97f1260090797d35a35e76096a3 group=sys mode=0444 owner=nobody path="unique/with a space" pkg.csize=38 pkg.size=18'), ('pkg:/[email protected]', 'path', 'file 820157a2043e3135f342b238129b556aade20347 chash=bfa46fc98d1ca97f1260090797d35a35e76096a3 group=sys mode=0444 owner=nobody path="unique/with a space" pkg.csize=38 pkg.size=18')
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   254
        ])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   255
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   256
        res_space_unique = set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   257
            ('pkg:/[email protected]', 'basename', 'dir group=bin mode=0755 owner=root path=unique_dir')
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   258
        ])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   259
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   260
        misc_files = ['/tmp/example_file']
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   261
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   262
        # This is a copy of the 3.81%2C5.11-0.89%3A20080527T163123Z version of
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   263
        # SUNWgmake from ipkg with the file and liscense actions changed so
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   264
        # that they all take /tmp/example file when sending.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   265
        bug_983_manifest = """
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   266
open [email protected],5.11-0.89
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   267
add dir group=sys mode=0755 owner=root path=usr
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   268
add dir group=bin mode=0755 owner=root path=usr/bin
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   269
add dir group=bin mode=0755 owner=root path=usr/gnu
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   270
add dir group=bin mode=0755 owner=root path=usr/gnu/bin
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   271
add link path=usr/gnu/bin/make target=../../bin/gmake
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   272
add dir group=sys mode=0755 owner=root path=usr/gnu/share
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   273
add dir group=bin mode=0755 owner=root path=usr/gnu/share/man
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   274
add dir group=bin mode=0755 owner=root path=usr/gnu/share/man/man1
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   275
add link path=usr/gnu/share/man/man1/make.1 target=../../../../share/man/man1/gmake.1
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   276
add dir group=bin mode=0755 owner=root path=usr/sfw
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   277
add dir group=bin mode=0755 owner=root path=usr/sfw/bin
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   278
add link path=usr/sfw/bin/gmake target=../../bin/gmake
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   279
add dir group=bin mode=0755 owner=root path=usr/sfw/share
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   280
add dir group=bin mode=0755 owner=root path=usr/sfw/share/man
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   281
add dir group=bin mode=0755 owner=root path=usr/sfw/share/man/man1
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   282
add link path=usr/sfw/share/man/man1/gmake.1 target=../../../../share/man/man1/gmake.1
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   283
add dir group=sys mode=0755 owner=root path=usr/share
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   284
add dir group=bin mode=0755 owner=root path=usr/share/info
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   285
add dir group=bin mode=0755 owner=root path=usr/share/man
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   286
add dir group=bin mode=0755 owner=root path=usr/share/man/man1
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   287
add file /tmp/example_file elfarch=i386 elfbits=32 elfhash=68cca393e816e6adcbac1e8ffe9c618de70413e0 group=bin mode=0555 owner=root path=usr/bin/gmake pkg.size=18
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   288
add file /tmp/example_file group=bin mode=0444 owner=root path=usr/share/info/make.info pkg.size=18
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   289
add file /tmp/example_file group=bin mode=0444 owner=root path=usr/share/info/make.info-1 pkg.size=18
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   290
add file /tmp/example_file group=bin mode=0444 owner=root path=usr/share/info/make.info-2 pkg.size=18
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   291
add file /tmp/example_file group=bin mode=0444 owner=root path=usr/share/man/man1/gmake.1 pkg.size=18
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   292
add license /tmp/example_file license=SUNWgmake.copyright pkg.size=18 transaction_id=1211931083_pkg%3A%2FSUNWgmake%403.81%2C5.11-0.89%3A20080527T163123Z
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   293
add depend fmri=pkg:/[email protected] type=require
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   294
add set name=description value="gmake - GNU make"
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   295
add legacy arch=i386 category=system desc="GNU make - A utility used to build software (gmake) 3.81" hotline="Please contact your local service provider" name="gmake - GNU make" pkg=SUNWgmake vendor="Sun Microsystems, Inc." version=11.11.0,REV=2008.04.29.02.08
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   296
close
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   297
"""
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   298
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   299
        res_bug_983 = set([
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   300
            ("pkg:/[email protected]", "basename", "link path=usr/sfw/bin/gmake target=../../bin/gmake"),
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   301
            ('pkg:/[email protected]', 'basename', 'file 820157a2043e3135f342b238129b556aade20347 chash=bfa46fc98d1ca97f1260090797d35a35e76096a3 elfarch=i386 elfbits=32 elfhash=68cca393e816e6adcbac1e8ffe9c618de70413e0 group=bin mode=0555 owner=root path=usr/bin/gmake pkg.csize=38 pkg.size=18'),
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   302
            ('pkg:/[email protected]', 'gmake', 'set name=description value="gmake - GNU make"')
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   303
        ])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   304
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   305
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   306
        def setUp(self):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   307
                for p in self.misc_files:
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   308
                        f = open(p, "w")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   309
                        # Write the name of the file into the file, so that
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   310
                        # all files have differing contents.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   311
                        f.write(p + "\n")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   312
                        f.close()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   313
                testutils.SingleDepotTestCase.setUp(self)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   314
                tp = self.get_test_prefix()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   315
                self.testdata_dir = os.path.join(tp, "search_results")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   316
                os.mkdir(self.testdata_dir)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   317
                self._dir_restore_functions = [self._restore_dir,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   318
                    self._restore_dir_preserve_hash]
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   319
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   320
        def tearDown(self):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   321
                testutils.SingleDepotTestCase.tearDown(self)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   322
                for p in self.misc_files:
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   323
                        os.remove(p)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   324
                shutil.rmtree(self.testdata_dir)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   325
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   326
        def _check(self, proposed_answer, correct_answer):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   327
                if correct_answer == proposed_answer:
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   328
                        return True
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   329
                else:
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   330
                        print "Proposed Answer: " + str(proposed_answer)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   331
                        print "Correct Answer : " + str(correct_answer)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   332
                        if isinstance(correct_answer, set) and \
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   333
                            isinstance(proposed_answer, set):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   334
                                print >> sys.stderr, "Missing: " + \
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   335
                                    str(correct_answer - proposed_answer)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   336
                                print >> sys.stderr, "Extra  : " + \
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   337
                                    str(proposed_answer - correct_answer)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   338
                        self.assert_(correct_answer == proposed_answer)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   339
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   340
        @staticmethod
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   341
        def _replace_act(act):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   342
                if act.startswith('set name=fmri'):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   343
                        return ''
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   344
                else:
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   345
                        return act.strip()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   346
                        
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   347
        @staticmethod
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   348
        def _extract_action_from_res(it):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   349
                return (
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   350
                    (fmri.PkgFmri(str(pkg_name)).get_short_fmri(), piece,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   351
                    TestApiSearchBasics._replace_act(act))
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   352
                    for query_num, auth, (version, return_type,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   353
                    (pkg_name, piece, act))
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   354
                    in it
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   355
                )
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   356
                        
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   357
        def _search_op(self, api_obj, remote, token, test_value,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   358
            case_sensitive=False, return_actions=True, num_to_return=None,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   359
            start_point=None):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   360
                search_func = api_obj.local_search
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   361
                if remote:
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   362
                        search_func = api_obj.remote_search
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   363
                query = api.Query(token, case_sensitive, return_actions,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   364
                    num_to_return, start_point)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   365
                res = set(self._extract_action_from_res(search_func([query])))
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   366
                self._check(set(res), test_value)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   367
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   368
        def _search_op_slow(self, api_obj, remote, token, test_value,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   369
            case_sensitive=False, return_actions=True, num_to_return=None,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   370
            start_point=None):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   371
                search_func = api_obj.local_search
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   372
                if remote:
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   373
                        search_func = api_obj.remote_search
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   374
                query = api.Query(token, case_sensitive, return_actions,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   375
                    num_to_return, start_point)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   376
                tmp = search_func([query])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   377
                res = []
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   378
                try:
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   379
                        for i in tmp:
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   380
                                res.append(i)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   381
                except api_errors.SlowSearchUsed:
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   382
                        pass
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   383
                res = self._extract_action_from_res(res)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   384
                self._check(set(res), test_value)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   385
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   386
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   387
                
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   388
        def _run_remote_tests(self, api_obj):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   389
                # Set to 1 since searches can't currently be performed
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   390
                # package name unless it's set inside the
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   391
                # manifest which happens at install time on
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   392
                # the client side.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   393
                self._search_op(api_obj, True, "example_pkg", set())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   394
                self._search_op(api_obj, True, "example_path",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   395
                    self.res_remote_path)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   396
                self._search_op(api_obj, True, "example*",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   397
                    self.res_remote_wildcard)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   398
                self._search_op(api_obj, True, "/bin", self.res_remote_bin)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   399
                self._search_op(api_obj, True, "4851433",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   400
                    self.res_remote_bug_id)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   401
                self._search_op(api_obj, True, "6556919",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   402
                    self.res_remote_inc_changes)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   403
                self._search_op(api_obj, True, "6556?19",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   404
                    self.res_remote_inc_changes)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   405
                self._search_op(api_obj, True, "42",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   406
                    self.res_remote_random_test) 
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   407
                self._search_op(api_obj, True, "separator",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   408
                    self.res_remote_keywords)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   409
                self._search_op(api_obj, True, "*example*",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   410
                    self.res_remote_glob)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   411
                self._search_op(api_obj, True, "fooo", self.res_remote_foo)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   412
                self._search_op(api_obj, True, "fo*", self.res_remote_foo)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   413
                self._search_op(api_obj, True, "bar", self.res_remote_bar)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   414
                self._search_op(api_obj, True, "openssl",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   415
                    self.res_remote_openssl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   416
                self._search_op(api_obj, True, "OPENSSL",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   417
                    self.res_remote_openssl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   418
                self._search_op(api_obj, True, "OpEnSsL",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   419
                    self.res_remote_openssl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   420
                self._search_op(api_obj, True, "OpEnS*",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   421
                    self.res_remote_openssl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   422
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   423
                # These tests are included because a specific bug
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   424
                # was found during development. This prevents regression back
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   425
                # to that bug. Exit status of 1 is expected because the
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   426
                # token isn't in the packages.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   427
                self._search_op(api_obj, True, "a_non_existent_token", set())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   428
                
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   429
        def _run_local_tests(self, api_obj):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   430
                outfile = os.path.join(self.testdata_dir, "res")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   431
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   432
                # This finds something because the client side
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   433
                # manifest has had the name of the package inserted
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   434
                # into it.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   435
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   436
                self._search_op(api_obj, False, "example_pkg",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   437
                    self.res_local_pkg)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   438
                self._search_op(api_obj, False, "example_path",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   439
                    self.res_local_path)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   440
                self._search_op(api_obj, False, "example*",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   441
                    self.res_local_wildcard)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   442
                self._search_op(api_obj, False, "/bin", self.res_local_bin)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   443
                self._search_op(api_obj, False, "4851433",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   444
                    self.res_local_bug_id)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   445
                self._search_op(api_obj, False, "6556919",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   446
                    self.res_local_inc_changes)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   447
                self._search_op(api_obj, False, "65569??",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   448
                    self.res_local_inc_changes)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   449
                self._search_op(api_obj, False, "42",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   450
                    self.res_local_random_test)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   451
                self._search_op(api_obj, False, "separator",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   452
                    self.res_local_keywords)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   453
                self._search_op(api_obj, False, "*example*",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   454
                    self.res_local_glob)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   455
                self._search_op(api_obj, False, "fooo", self.res_local_foo)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   456
                self._search_op(api_obj, False, "fo*", self.res_local_foo)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   457
                self._search_op(api_obj, False, "bar", self.res_local_bar)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   458
                self._search_op(api_obj, False, "openssl",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   459
                    self.res_local_openssl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   460
                self._search_op(api_obj, False, "OPENSSL",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   461
                    self.res_local_openssl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   462
                self._search_op(api_obj, False, "OpEnSsL",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   463
                    self.res_local_openssl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   464
                self._search_op(api_obj, False, "OpEnS*",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   465
                    self.res_local_openssl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   466
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   467
                # These tests are included because a specific bug
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   468
                # was found during development. These tests prevent regression
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   469
                # back to that bug. Exit status of 1 is expected because the
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   470
                # token isn't in the packages.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   471
                self._search_op(api_obj, False, "a_non_existent_token", set())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   472
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   473
        def _run_degraded_local_tests(self, api_obj):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   474
                outfile = os.path.join(self.testdata_dir, "res")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   475
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   476
                # This finds something because the client side
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   477
                # manifest has had the name of the package inserted
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   478
                # into it.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   479
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   480
                self._search_op_slow(api_obj, False, "example_pkg",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   481
                    self.res_local_pkg)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   482
                self._search_op_slow(api_obj, False, "example_path",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   483
                    self.res_local_path)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   484
                self._search_op_slow(api_obj, False, "example*",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   485
                    self.res_local_wildcard)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   486
                self._search_op_slow(api_obj, False, "/bin", self.res_local_bin)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   487
                self._search_op_slow(api_obj, False, "4851433",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   488
                    self.res_local_bug_id)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   489
                self._search_op_slow(api_obj, False, "6556919",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   490
                    self.res_local_inc_changes)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   491
                self._search_op_slow(api_obj, False, "65569??",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   492
                    self.res_local_inc_changes)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   493
                self._search_op_slow(api_obj, False, "42",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   494
                    self.res_local_random_test)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   495
                self._search_op_slow(api_obj, False, "separator",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   496
                    self.res_local_keywords)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   497
                self._search_op_slow(api_obj, False, "*example*",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   498
                    self.res_local_glob)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   499
                self._search_op_slow(api_obj, False, "fooo", self.res_local_foo)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   500
                self._search_op_slow(api_obj, False, "fo*", self.res_local_foo)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   501
                self._search_op_slow(api_obj, False, "bar", self.res_local_bar)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   502
                self._search_op_slow(api_obj, False, "openssl",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   503
                    self.res_local_openssl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   504
                self._search_op_slow(api_obj, False, "OPENSSL",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   505
                    self.res_local_openssl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   506
                self._search_op_slow(api_obj, False, "OpEnSsL",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   507
                    self.res_local_openssl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   508
                self._search_op_slow(api_obj, False, "OpEnS*",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   509
                    self.res_local_openssl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   510
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   511
                # These tests are included because a specific bug
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   512
                # was found during development. These tests prevent regression
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   513
                # back to that bug. Exit status of 1 is expected because the
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   514
                # token isn't in the packages.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   515
                self._search_op_slow(api_obj, False, "a_non_existent_token",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   516
                    set())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   517
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   518
                
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   519
        def _run_local_tests_example11_installed(self, api_obj):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   520
                outfile = os.path.join(self.testdata_dir, "res")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   521
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   522
                # This finds something because the client side
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   523
                # manifest has had the name of the package inserted
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   524
                # into it.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   525
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   526
                self._search_op(api_obj, False, "example_pkg",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   527
                    self.res_local_pkg_example11)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   528
                self._search_op(api_obj, False, "example_path", set())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   529
                self._search_op(api_obj, False, "example_path11",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   530
                    self.res_local_path_example11)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   531
                self._search_op(api_obj, False, "example*",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   532
                    self.res_local_wildcard_example11)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   533
                self._search_op(api_obj, False, "/bin",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   534
                    self.res_local_bin_example11)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   535
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   536
        def _run_local_empty_tests(self, api_obj):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   537
                self._search_op(api_obj, False, "example_pkg", set())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   538
                self._search_op(api_obj, False, "example_path", set())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   539
                self._search_op(api_obj, False, "example*", set())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   540
                self._search_op(api_obj, False, "/bin", set())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   541
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   542
        def _run_remote_empty_tests(self, api_obj):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   543
                self._search_op(api_obj, True, "example_pkg", set())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   544
                self._search_op(api_obj, True, "example_path", set())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   545
                self._search_op(api_obj, True, "example*", set())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   546
                self._search_op(api_obj, True, "/bin", set())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   547
                self._search_op(api_obj, True, "*unique*", set())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   548
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   549
        @staticmethod
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   550
        def _restore_dir(index_dir, index_dir_tmp):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   551
                shutil.rmtree(index_dir)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   552
                shutil.move(index_dir_tmp, index_dir)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   553
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   554
        @staticmethod
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   555
        def _restore_dir_preserve_hash(index_dir, index_dir_tmp):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   556
                tmp_file = "full_fmri_list.hash"
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   557
                portable.remove(os.path.join(index_dir_tmp, tmp_file))
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   558
                shutil.move(os.path.join(index_dir, tmp_file),
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   559
                            index_dir_tmp)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   560
                fh = open(os.path.join(index_dir_tmp, ss.MAIN_FILE), "r")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   561
                fh.seek(0)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   562
                fh.seek(9)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   563
                ver = fh.read(1)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   564
                fh.close()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   565
                fh = open(os.path.join(index_dir_tmp, tmp_file), "r+")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   566
                fh.seek(0)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   567
                fh.seek(9)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   568
                # Overwrite the existing version number.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   569
                # By definition, the version 0 is never used.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   570
                fh.write("%s" % ver)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   571
                shutil.rmtree(index_dir)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   572
                shutil.move(index_dir_tmp, index_dir)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   573
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   574
        def _get_index_dirs(self):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   575
                index_dir = os.path.join(self.img_path, "var","pkg","index")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   576
                index_dir_tmp = index_dir + "TMP"
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   577
                return index_dir, index_dir_tmp
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   578
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   579
        @staticmethod
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   580
        def _overwrite_version_number(file_path):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   581
                fh = open(file_path, "r+")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   582
                fh.seek(0)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   583
                fh.seek(9)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   584
                # Overwrite the existing version number.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   585
                # By definition, the version 0 is never used.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   586
                fh.write("0")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   587
                fh.close()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   588
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   589
        @staticmethod
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   590
        def _overwrite_on_disk_format_version_number(file_path):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   591
                fh = open(file_path, "r+")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   592
                fh.seek(0)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   593
                fh.seek(16)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   594
                # Overwrite the existing version number.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   595
                # By definition, the version 0 is never used.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   596
                fh.write("9")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   597
                fh.close()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   598
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   599
        @staticmethod
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   600
        def _overwrite_on_disk_format_version_number_with_letter(file_path):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   601
                fh = open(file_path, "r+")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   602
                fh.seek(0)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   603
                fh.seek(16)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   604
                # Overwrite the existing version number.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   605
                # By definition, the version 0 is never used.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   606
                fh.write("a")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   607
                fh.close()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   608
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   609
        @staticmethod
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   610
        def _replace_on_disk_format_version(dir):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   611
                file_path = os.path.join(dir, ss.BYTE_OFFSET_FILE)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   612
                fh = open(file_path, "r")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   613
                lst = fh.readlines()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   614
                fh.close()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   615
                fh = open(file_path, "w")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   616
                fh.write(lst[0])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   617
                for l in lst[2:]:
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   618
                        fh.write(l)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   619
                fh.close()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   620
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   621
        @staticmethod
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   622
        def _overwrite_hash(ffh_path):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   623
                fh = open(ffh_path, "r+")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   624
                fh.seek(0)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   625
                fh.seek(20)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   626
                fh.write("*")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   627
                fh.close()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   628
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   629
        def _check_no_index(self):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   630
                ind_dir, ind_dir_tmp = self._get_index_dirs()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   631
                if os.listdir(ind_dir):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   632
                        self.assert_(0)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   633
                if os.path.exists(ind_dir_tmp):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   634
                        self.assert_(0)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   635
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   636
        @staticmethod
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   637
        def _do_install(api_obj, pkg_list, **kwargs):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   638
                api_obj.plan_install(pkg_list, [], **kwargs)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   639
                TestApiSearchBasics._do_finish(api_obj)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   640
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   641
        @staticmethod
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   642
        def _do_uninstall(api_obj, pkg_list, **kwargs):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   643
                api_obj.plan_uninstall(pkg_list, False, **kwargs)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   644
                TestApiSearchBasics._do_finish(api_obj)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   645
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   646
        @staticmethod
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   647
        def _do_image_update(api_obj, **kwargs):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   648
                api_obj.plan_update_all(sys.argv[0], **kwargs)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   649
                TestApiSearchBasics._do_finish(api_obj)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   650
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   651
        @staticmethod
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   652
        def _do_finish(api_obj):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   653
                api_obj.prepare()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   654
                api_obj.execute_plan()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   655
                api_obj.reset()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   656
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   657
        def test_remote(self):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   658
                """Test remote search."""
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   659
                durl = self.dc.get_depot_url()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   660
                self.pkgsend_bulk(durl, self.example_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   661
                self.image_create(durl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   662
                progresstracker = progress.NullProgressTracker()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   663
                api_obj = api.ImageInterface(self.get_img_path(), API_VERSION,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   664
                    progresstracker, lambda x: False, PKG_CLIENT_NAME)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   665
                
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   666
                self._run_remote_tests(api_obj)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   667
                
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   668
        def test_local_0(self):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   669
                """Install one package, and run the search suite."""
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   670
                durl = self.dc.get_depot_url()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   671
                self.pkgsend_bulk(durl, self.example_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   672
                self.image_create(durl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   673
                progresstracker = progress.NullProgressTracker()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   674
                api_obj = api.ImageInterface(self.get_img_path(), API_VERSION,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   675
                    progresstracker, lambda x: False, PKG_CLIENT_NAME)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   676
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   677
                self._do_install(api_obj, ["example_pkg"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   678
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   679
                self._run_local_tests(api_obj)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   680
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   681
        def test_degraded_local(self):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   682
                """Install one package, and run the search suite."""
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   683
                durl = self.dc.get_depot_url()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   684
                self.pkgsend_bulk(durl, self.example_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   685
                self.image_create(durl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   686
                progresstracker = progress.NullProgressTracker()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   687
                api_obj = api.ImageInterface(self.get_img_path(), API_VERSION,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   688
                    progresstracker, lambda x: False, PKG_CLIENT_NAME)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   689
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   690
                self._do_install(api_obj, ["example_pkg"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   691
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   692
                index_dir = os.path.join(self.img_path, "var","pkg","index")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   693
                shutil.rmtree(index_dir)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   694
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   695
                self._run_degraded_local_tests(api_obj)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   696
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   697
                
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   698
        def test_repeated_install_uninstall(self):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   699
                """Install and uninstall a package. Checking search both
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   700
                after each change to the image."""
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   701
                # During development, the index could become corrupted by
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   702
                # repeated installing and uninstalling a package. This
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   703
                # tests if that has been fixed.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   704
                repeat = 3
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   705
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   706
                durl = self.dc.get_depot_url()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   707
                self.pkgsend_bulk(durl, self.example_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   708
                self.image_create(durl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   709
                progresstracker = progress.NullProgressTracker()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   710
                api_obj = api.ImageInterface(self.get_img_path(), API_VERSION,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   711
                    progresstracker, lambda x: False, PKG_CLIENT_NAME)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   712
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   713
                self._do_install(api_obj, ["example_pkg"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   714
                self._do_uninstall(api_obj, ["example_pkg"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   715
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   716
                for i in range(1, repeat):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   717
                        self._do_install(api_obj, ["example_pkg"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   718
                        self._run_local_tests(api_obj)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   719
                        self._do_uninstall(api_obj, ["example_pkg"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   720
                        api_obj.reset()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   721
                        self._run_local_empty_tests(api_obj)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   722
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   723
        def test_local_image_update(self):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   724
                """Test that the index gets updated by image-update and
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   725
                that rebuilding the index works after updating the
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   726
                image. Specifically, this tests that rebuilding indexes with
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   727
                gaps in them works correctly."""
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   728
                durl = self.dc.get_depot_url()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   729
                self.pkgsend_bulk(durl, self.example_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   730
                self.image_create(durl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   731
                progresstracker = progress.NullProgressTracker()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   732
                api_obj = api.ImageInterface(self.get_img_path(), API_VERSION,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   733
                    progresstracker, lambda x: False, PKG_CLIENT_NAME)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   734
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   735
                self._do_install(api_obj, ["example_pkg"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   736
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   737
                self.pkgsend_bulk(durl, self.example_pkg11)
996
31d152a5212b 7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 983
diff changeset
   738
                api_obj.refresh(immediate=True)
941
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   739
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   740
                self._do_image_update(api_obj)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   741
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   742
                self._run_local_tests_example11_installed(api_obj)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   743
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   744
                api_obj.rebuild_search_index()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   745
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   746
                self._run_local_tests_example11_installed(api_obj)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   747
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   748
        def test_bug_983(self):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   749
                """Test for known bug 983."""
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   750
                durl = self.dc.get_depot_url()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   751
                self.pkgsend_bulk(durl, self.bug_983_manifest)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   752
                self.image_create(durl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   753
                progresstracker = progress.NullProgressTracker()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   754
                api_obj = api.ImageInterface(self.get_img_path(), API_VERSION,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   755
                    progresstracker, lambda x: False, PKG_CLIENT_NAME)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   756
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   757
                self._search_op(api_obj, True, "gmake", self.res_bug_983)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   758
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   759
        def test_low_mem(self):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   760
                """Test to check codepath used in low memory situations."""
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   761
                os.environ["PKG_INDEX_MAX_RAM"] = "0"
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   762
                durl = self.dc.get_depot_url()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   763
                self.pkgsend_bulk(durl, self.example_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   764
                self.pkgsend_bulk(durl, self.bug_983_manifest)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   765
                self.pkgsend_bulk(durl, self.bug_983_manifest)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   766
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   767
                self.image_create(durl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   768
                progresstracker = progress.NullProgressTracker()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   769
                api_obj = api.ImageInterface(self.get_img_path(), API_VERSION,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   770
                    progresstracker, lambda x: False, PKG_CLIENT_NAME)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   771
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   772
                self._run_remote_tests(api_obj)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   773
                self._search_op(api_obj, True, "gmake", self.res_bug_983)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   774
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   775
        def test_missing_files(self):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   776
                # working on this test case
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   777
                """Test to check for stack trace when files missing.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   778
                Bug 2753"""
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   779
                durl = self.dc.get_depot_url()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   780
                self.pkgsend_bulk(durl, self.example_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   781
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   782
                self.image_create(durl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   783
                progresstracker = progress.NullProgressTracker()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   784
                api_obj = api.ImageInterface(self.get_img_path(), API_VERSION,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   785
                    progresstracker, lambda x: False, PKG_CLIENT_NAME)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   786
                self._do_install(api_obj, ["example_pkg"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   787
                
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   788
                index_dir = os.path.join(self.img_path, "var","pkg","index")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   789
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   790
                for d in query_parser.TermQuery._global_data_dict.values():
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   791
                        orig_fn = d.get_file_name()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   792
                        orig_path = os.path.join(index_dir, orig_fn)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   793
                        dest_fn = orig_fn + "TMP"
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   794
                        dest_path = os.path.join(index_dir, dest_fn)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   795
                        portable.rename(orig_path, dest_path)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   796
                        self.assertRaises(api_errors.InconsistentIndexException,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   797
                            self._search_op, api_obj, False, "example_pkg", [])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   798
                        portable.rename(dest_path, orig_path)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   799
                        self._search_op(api_obj, False, "example_pkg",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   800
                            self.res_local_pkg)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   801
                        
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   802
        def test_mismatched_versions(self):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   803
                """Test to check for stack trace when files missing.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   804
                Bug 2753"""
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   805
                durl = self.dc.get_depot_url()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   806
                self.pkgsend_bulk(durl, self.example_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   807
                self.image_create(durl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   808
                progresstracker = progress.NullProgressTracker()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   809
                api_obj = api.ImageInterface(self.get_img_path(), API_VERSION,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   810
                    progresstracker, lambda x: False, PKG_CLIENT_NAME)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   811
                self._do_install(api_obj, ["example_pkg"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   812
                
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   813
                index_dir = os.path.join(self.img_path, "var","pkg","index")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   814
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   815
                for d in query_parser.TermQuery._global_data_dict.values():
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   816
                        orig_fn = d.get_file_name()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   817
                        orig_path = os.path.join(index_dir, orig_fn)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   818
                        dest_fn = orig_fn + "TMP"
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   819
                        dest_path = os.path.join(index_dir, dest_fn)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   820
                        shutil.copy(orig_path, dest_path)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   821
                        self._overwrite_version_number(orig_path)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   822
                        api_obj.reset()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   823
                        self.assertRaises(api_errors.InconsistentIndexException,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   824
                            self._search_op, api_obj, False, "example_pkg", [])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   825
                        portable.rename(dest_path, orig_path)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   826
                        self._search_op(api_obj, False, "example_pkg",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   827
                            self.res_local_pkg)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   828
                        self._overwrite_version_number(orig_path)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   829
                        self._do_uninstall(api_obj, ["example_pkg"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   830
                        self._search_op(api_obj, False, "example_pkg", set())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   831
                        self._overwrite_version_number(orig_path)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   832
                        self._do_install(api_obj, ["example_pkg"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   833
                        api_obj.reset()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   834
                        self._search_op(api_obj, False, "example_pkg",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   835
                            self.res_local_pkg)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   836
                        
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   837
                ffh = ss.IndexStoreSetHash(ss.FULL_FMRI_HASH_FILE)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   838
                ffh_path = os.path.join(index_dir, ffh.get_file_name())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   839
                dest_path = ffh_path + "TMP"
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   840
                shutil.copy(ffh_path, dest_path)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   841
                self._overwrite_hash(ffh_path)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   842
                self.assertRaises(api_errors.IncorrectIndexFileHash,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   843
                    self._search_op, api_obj, False, "example_pkg", set())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   844
                portable.rename(dest_path, ffh_path)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   845
                self._search_op(api_obj, False, "example_pkg",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   846
                    self.res_local_pkg)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   847
                self._overwrite_hash(ffh_path)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   848
                self._do_uninstall(api_obj, ["example_pkg"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   849
                self._search_op(api_obj, False, "example_pkg", set())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   850
                
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   851
        def test_bug_2989_1(self):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   852
                durl = self.dc.get_depot_url()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   853
                self.pkgsend_bulk(durl, self.example_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   854
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   855
                for f in self._dir_restore_functions:
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   856
                        self.image_create(durl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   857
                        progresstracker = progress.NullProgressTracker()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   858
                        api_obj = api.ImageInterface(self.get_img_path(),
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   859
                            API_VERSION, progresstracker, lambda x: False,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   860
                            PKG_CLIENT_NAME)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   861
                        api_obj.rebuild_search_index()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   862
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   863
                        index_dir, index_dir_tmp = self._get_index_dirs()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   864
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   865
                        shutil.copytree(index_dir, index_dir_tmp)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   866
                
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   867
                        self._do_install(api_obj, ["example_pkg"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   868
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   869
                        f(index_dir, index_dir_tmp)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   870
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   871
                        self._do_uninstall(api_obj, ["example_pkg"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   872
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   873
                        self.image_destroy()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   874
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   875
        def test_bug_2989_2(self):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   876
                durl = self.dc.get_depot_url()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   877
                self.pkgsend_bulk(durl, self.example_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   878
                self.pkgsend_bulk(durl, self.another_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   879
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   880
                for f in self._dir_restore_functions:
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   881
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   882
                        self.image_create(durl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   883
                        progresstracker = progress.NullProgressTracker()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   884
                        api_obj = api.ImageInterface(self.get_img_path(),
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   885
                            API_VERSION, progresstracker, lambda x: False,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   886
                            PKG_CLIENT_NAME)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   887
                        self._do_install(api_obj, ["example_pkg"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   888
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   889
                        index_dir, index_dir_tmp = self._get_index_dirs()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   890
                
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   891
                        shutil.copytree(index_dir, index_dir_tmp)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   892
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   893
                        self._do_install(api_obj, ["another_pkg"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   894
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   895
                        f(index_dir, index_dir_tmp)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   896
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   897
                        self._do_uninstall(api_obj, ["another_pkg"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   898
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   899
                        self.image_destroy()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   900
                
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   901
        def test_bug_2989_3(self):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   902
                durl = self.dc.get_depot_url()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   903
                self.pkgsend_bulk(durl, self.example_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   904
                self.pkgsend_bulk(durl, self.example_pkg11)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   905
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   906
                for f in self._dir_restore_functions:
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   907
                
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   908
                        self.image_create(durl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   909
                        progresstracker = progress.NullProgressTracker()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   910
                        api_obj = api.ImageInterface(self.get_img_path(),
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   911
                            API_VERSION, progresstracker, lambda x: False,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   912
                            PKG_CLIENT_NAME)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   913
                        self._do_install(api_obj, ["[email protected],5.11-0"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   914
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   915
                        index_dir, index_dir_tmp = self._get_index_dirs()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   916
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   917
                        shutil.copytree(index_dir, index_dir_tmp)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   918
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   919
                        self._do_install(api_obj, ["example_pkg"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   920
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   921
                        f(index_dir, index_dir_tmp)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   922
                        
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   923
                        self._do_uninstall(api_obj, ["example_pkg"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   924
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   925
                        self.image_destroy()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   926
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   927
        def test_bug_2989_4(self):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   928
                durl = self.dc.get_depot_url()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   929
                self.pkgsend_bulk(durl, self.another_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   930
                self.pkgsend_bulk(durl, self.example_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   931
                self.pkgsend_bulk(durl, self.example_pkg11)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   932
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   933
                for f in self._dir_restore_functions:
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   934
                
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   935
                        self.image_create(durl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   936
                        progresstracker = progress.NullProgressTracker()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   937
                        api_obj = api.ImageInterface(self.get_img_path(),
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   938
                            API_VERSION, progresstracker, lambda x: False,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   939
                            PKG_CLIENT_NAME)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   940
                        self._do_install(api_obj, ["another_pkg"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   941
                
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   942
                        index_dir, index_dir_tmp = self._get_index_dirs()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   943
                        
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   944
                        shutil.copytree(index_dir, index_dir_tmp)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   945
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   946
                        self._do_install(api_obj, ["[email protected],5.11-0"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   947
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   948
                        f(index_dir, index_dir_tmp)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   949
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   950
                        self._do_image_update(api_obj)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   951
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   952
                        self.image_destroy()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   953
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   954
        def test_local_case_sensitive(self):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   955
                """Test local case sensitive search"""
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   956
                durl = self.dc.get_depot_url()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   957
                self.pkgsend_bulk(durl, self.example_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   958
                self.image_create(durl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   959
                progresstracker = progress.NullProgressTracker()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   960
                api_obj = api.ImageInterface(self.get_img_path(), API_VERSION,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   961
                    progresstracker, lambda x: False, PKG_CLIENT_NAME)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   962
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   963
                self._do_install(api_obj, ["example_pkg"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   964
                self._search_op(api_obj, False, "fooo", set(), True)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   965
                self._search_op(api_obj, False, "fo*", set(), True)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   966
                self._search_op(api_obj, False, "bar", set(), True)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   967
                self._search_op(api_obj, False, "FOOO", self.res_local_foo,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   968
                    True)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   969
                self._search_op(api_obj, False, "bAr", self.res_local_bar, True)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   970
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   971
        def test_weird_patterns(self):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   972
                """Test strange patterns to ensure they're handled correctly"""
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   973
                durl = self.dc.get_depot_url()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   974
                self.pkgsend_bulk(durl, self.example_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   975
                self.image_create(durl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   976
                progresstracker = progress.NullProgressTracker()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   977
                api_obj = api.ImageInterface(self.get_img_path(), API_VERSION,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   978
                    progresstracker, lambda x: False, PKG_CLIENT_NAME)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   979
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   980
                self._search_op(api_obj, True, "[*]", self.res_remote_star)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   981
                self._search_op(api_obj, True, "[?]", self.res_remote_mark)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   982
                self._search_op(api_obj, True, "[[]",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   983
                    self.res_remote_left_brace)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   984
                self._search_op(api_obj, True, "[]]",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   985
                    self.res_remote_right_brace)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   986
                self._search_op(api_obj, True, "FO[O]O", self.res_remote_foo)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   987
                self._search_op(api_obj, True, "FO[?O]O", self.res_remote_foo)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   988
                self._search_op(api_obj, True, "FO[*O]O", self.res_remote_foo)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   989
                self._search_op(api_obj, True, "FO[]O]O", self.res_remote_foo)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   990
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   991
        def test_bug_2849(self):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   992
                """Checks if things with spaces break the indexer."""
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   993
                durl = self.dc.get_depot_url()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   994
                self.pkgsend_bulk(durl, self.space_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   995
                self.image_create(durl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   996
                progresstracker = progress.NullProgressTracker()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   997
                api_obj = api.ImageInterface(self.get_img_path(), API_VERSION,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   998
                    progresstracker, lambda x: False, PKG_CLIENT_NAME)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
   999
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1000
                self._do_install(api_obj, ["space_pkg"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1001
                time.sleep(1)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1002
                
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1003
                self.pkgsend_bulk(durl, self.space_pkg10)
996
31d152a5212b 7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 983
diff changeset
  1004
                api_obj.refresh(immediate=True)
941
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1005
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1006
                self.pkg("refresh")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1007
                self._do_install(api_obj, ["space_pkg"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1008
                
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1009
                remote = False
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1010
                self._search_op(api_obj, remote, 'with', set())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1011
                self._search_op(api_obj, remote, 'with*',
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1012
                    self.res_space_with_star)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1013
                self._search_op(api_obj, remote, '*space',
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1014
                    self.res_space_space_star)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1015
                self._search_op(api_obj, remote, 'space', set())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1016
                self._search_op(api_obj, remote, 'unique_dir',
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1017
                    self.res_space_unique)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1018
                remote = True
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1019
                self._search_op(api_obj, remote, 'with', set())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1020
                self._search_op(api_obj, remote, 'with*',
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1021
                    self.res_space_with_star)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1022
                self._search_op(api_obj, remote, '*space',
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1023
                    self.res_space_space_star)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1024
                self._search_op(api_obj, remote, 'space', set())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1025
                self.pkgsend_bulk(durl, self.space_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1026
                self._search_op(api_obj, remote, 'with', set())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1027
                self._search_op(api_obj, remote, 'with*',
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1028
                    self.res_space_with_star)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1029
                self._search_op(api_obj, remote, '*space',
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1030
                    self.res_space_space_star)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1031
                self._search_op(api_obj, remote, 'space', set())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1032
                self._search_op(api_obj, remote, 'unique_dir',
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1033
                    self.res_space_unique)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1034
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1035
        def test_bug_2863(self):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1036
                """Test local case sensitive search"""
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1037
                durl = self.dc.get_depot_url()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1038
                self.pkgsend_bulk(durl, self.example_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1039
                self.image_create(durl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1040
                progresstracker = progress.NullProgressTracker()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1041
                api_obj = api.ImageInterface(self.get_img_path(), API_VERSION,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1042
                    progresstracker, lambda x: False, PKG_CLIENT_NAME)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1043
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1044
                self._check_no_index()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1045
                self._do_install(api_obj, ["example_pkg"], update_index=False)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1046
                self._check_no_index()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1047
                api_obj.rebuild_search_index()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1048
                self._run_local_tests(api_obj)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1049
                self._do_uninstall(api_obj, ["example_pkg"], update_index=False)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1050
                # Running empty test because search will notice the index
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1051
                # does not match the installed packages and complain.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1052
                self.assertRaises(api_errors.IncorrectIndexFileHash,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1053
                    self._search_op, api_obj, False, "example_pkg", set())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1054
                api_obj.rebuild_search_index()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1055
                self._run_local_empty_tests(api_obj)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1056
                self._do_install(api_obj, ["example_pkg"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1057
                self._run_local_tests(api_obj)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1058
                self.pkgsend_bulk(durl, self.example_pkg11)
996
31d152a5212b 7582 pkg set-publisher --no-refresh will delete catalogs
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 983
diff changeset
  1059
                api_obj.refresh(immediate=True)
941
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1060
                self._do_image_update(api_obj, update_index=False)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1061
                # Running empty test because search will notice the index
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1062
                # does not match the installed packages and complain.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1063
                self.assertRaises(api_errors.IncorrectIndexFileHash,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1064
                    self._search_op, api_obj, False, "example_pkg", set())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1065
                api_obj.rebuild_search_index()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1066
                self._run_local_tests_example11_installed(api_obj)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1067
                self._do_uninstall(api_obj, ["example_pkg"], update_index=False)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1068
                # Running empty test because search will notice the index
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1069
                # does not match the installed packages and complain.
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1070
                self.assertRaises(api_errors.IncorrectIndexFileHash,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1071
                    self._search_op, api_obj, False, "example_pkg", set())
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1072
                api_obj.rebuild_search_index()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1073
                self._run_local_empty_tests(api_obj)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1074
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1075
        def test_bug_4048_1(self):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1076
                """Checks whether the server deals with partial indexing."""
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1077
                durl = self.dc.get_depot_url()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1078
                depotpath = self.dc.get_repodir()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1079
                tmp_dir = os.path.join(depotpath, "index", "TMP")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1080
                os.mkdir(tmp_dir)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1081
                self.pkgsend_bulk(durl, self.example_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1082
                self.image_create(durl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1083
                progresstracker = progress.NullProgressTracker()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1084
                api_obj = api.ImageInterface(self.get_img_path(), API_VERSION,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1085
                    progresstracker, lambda x: False, PKG_CLIENT_NAME)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1086
                self._run_remote_empty_tests(api_obj)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1087
                os.rmdir(tmp_dir)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1088
                offset = 2
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1089
                depot_logfile = os.path.join(self.get_test_prefix(),
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1090
                    self.id(), "depot_logfile%d" % offset)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1091
                tmp_dc = self.start_depot(12000 + offset, depotpath,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1092
                    depot_logfile, refresh_index=True)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1093
                time.sleep(1)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1094
                self._run_remote_tests(api_obj)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1095
                tmp_dc.kill()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1096
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1097
        def test_bug_4048_2(self):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1098
                """Checks whether the server deals with partial indexing."""
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1099
                durl = self.dc.get_depot_url()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1100
                depotpath = self.dc.get_repodir()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1101
                tmp_dir = os.path.join(depotpath, "index", "TMP")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1102
                os.mkdir(tmp_dir)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1103
                self.pkgsend_bulk(durl, self.space_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1104
                self.image_create(durl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1105
                progresstracker = progress.NullProgressTracker()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1106
                api_obj = api.ImageInterface(self.get_img_path(), API_VERSION,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1107
                    progresstracker, lambda x: False, PKG_CLIENT_NAME)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1108
                self._run_remote_empty_tests(api_obj)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1109
                os.rmdir(tmp_dir)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1110
                self.pkgsend_bulk(durl, self.example_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1111
                time.sleep(1)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1112
                self._run_remote_tests(api_obj)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1113
                self._search_op(api_obj, True, "unique_dir",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1114
                    self.res_space_unique)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1115
                self._search_op(api_obj, True, "with*",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1116
                    self.res_space_with_star)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1117
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1118
        def test_bug_4239(self):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1119
                """Tests whether categories are indexed and searched for
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1120
                correctly."""
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1121
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1122
                durl = self.dc.get_depot_url()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1123
                self.pkgsend_bulk(durl, self.cat_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1124
                self.pkgsend_bulk(durl, self.cat2_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1125
                self.pkgsend_bulk(durl, self.cat3_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1126
                self.pkgsend_bulk(durl, self.bad_cat_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1127
                self.pkgsend_bulk(durl, self.bad_cat2_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1128
                self.image_create(durl)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1129
                progresstracker = progress.NullProgressTracker()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1130
                api_obj = api.ImageInterface(self.get_img_path(), API_VERSION,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1131
                    progresstracker, lambda x: False, PKG_CLIENT_NAME)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1132
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1133
                def _run_cat_tests(self, remote):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1134
                        self._search_op(api_obj, remote, "System",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1135
                            self.res_cat_pkg10, case_sensitive=False)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1136
                        self._search_op(api_obj, remote, "Security",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1137
                            self.res_cat_pkg10, case_sensitive=False)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1138
                        self._search_op(api_obj, remote, "System/Security",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1139
                            self.res_cat_pkg10, case_sensitive=False)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1140
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1141
                def _run_cat2_tests(self, remote):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1142
                        self._search_op(api_obj, remote, "Applications",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1143
                            self.res_cat2_pkg10, case_sensitive=False)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1144
                        self._search_op(api_obj, True, "Sound",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1145
                            self.res_cat2_pkg10, case_sensitive=False)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1146
                        self._search_op(api_obj, remote, "'Sound and Video'",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1147
                            self.res_cat2_pkg10, case_sensitive=False)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1148
                        self._search_op(api_obj, remote, "Sound*",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1149
                            self.res_cat2_pkg10, case_sensitive=False)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1150
                        self._search_op(api_obj, remote, "*Video",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1151
                            self.res_cat2_pkg10, case_sensitive=False)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1152
                        self._search_op(api_obj, remote,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1153
                            "'Applications/Sound and Video'",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1154
                            self.res_cat2_pkg10, case_sensitive=False)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1155
                def _run_cat3_tests(self, remote):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1156
                        self._search_op(api_obj, remote, "foo",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1157
                            self.res_cat3_pkg10,case_sensitive=False)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1158
                        self._search_op(api_obj, remote, "baz",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1159
                            self.res_cat3_pkg10, case_sensitive=False)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1160
                        self._search_op(api_obj, remote, "asda",
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1161
                            self.res_cat3_pkg10, case_sensitive=False)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1162
                        self._search_op(api_obj, remote,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1163
                            "foo/bar/baz/bill/beam/asda", self.res_cat3_pkg10,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1164
                            case_sensitive=False)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1165
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1166
                remote = True
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1167
                _run_cat_tests(self, remote)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1168
                _run_cat2_tests(self, remote)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1169
                _run_cat3_tests(self, remote)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1170
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1171
                remote = False
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1172
                self._do_install(api_obj, ["cat"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1173
                _run_cat_tests(self, remote)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1174
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1175
                self._do_install(api_obj, ["cat2"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1176
                _run_cat2_tests(self, remote)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1177
                
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1178
                self._do_install(api_obj, ["cat3"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1179
                _run_cat3_tests(self, remote)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1180
                
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1181
                self._do_install(api_obj, ["badcat"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1182
                self._do_install(api_obj, ["badcat2"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1183
                _run_cat_tests(self, remote)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1184
                _run_cat2_tests(self, remote)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1185
                _run_cat3_tests(self, remote)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1186
1009
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1187
        def __corrupt_depot(self, ind_dir):
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1188
                self.dc.stop()
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1189
                if os.path.exists(os.path.join(ind_dir, ss.MAIN_FILE)):
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1190
                        shutil.move(os.path.join(ind_dir, ss.MAIN_FILE),
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1191
                            os.path.join(ind_dir, "main_dict.ascii.v1"))
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1192
                self.dc.start()
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1193
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1194
        def __wait_for_indexing(self, d):
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1195
                init_time = time.time()
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1196
                there = True
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1197
                while there and ((time.time() - init_time) < 10):
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1198
                        there = os.path.exists(d)
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1199
                self.assert_(not there)
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1200
                time.sleep(1)
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1201
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1202
        def test_bug_7358_1(self):
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1203
                """Move files so that an inconsistent index is created and
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1204
                check that the server rebuilds the index when possible, and
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1205
                doesn't stack trace when it can't write to the directory."""
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1206
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1207
                durl = self.dc.get_depot_url()
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1208
                depotpath = self.dc.get_repodir()
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1209
                ind_dir = os.path.join(depotpath, "index")
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1210
                self.image_create(durl)
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1211
                progresstracker = progress.NullProgressTracker()
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1212
                api_obj = api.ImageInterface(self.get_img_path(), API_VERSION,
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1213
                    progresstracker, lambda x: False, PKG_CLIENT_NAME)
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1214
                # Check when depot is empty.
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1215
                self.__corrupt_depot(ind_dir)
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1216
                self.__wait_for_indexing(os.path.join(ind_dir, "TMP"))
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1217
                # Since the depot is empty, should return no results but
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1218
                # not error.
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1219
                self._search_op(api_obj, True, 'e*', set())
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1220
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1221
                self.pkgsend_bulk(durl, self.example_pkg10)
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1222
                self.__wait_for_indexing(os.path.join(ind_dir, "TMP"))
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1223
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1224
                # Check when depot contains a package.
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1225
                self.__corrupt_depot(ind_dir)
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1226
                self.__wait_for_indexing(os.path.join(ind_dir, "TMP"))
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1227
                self._run_remote_tests(api_obj)
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1228
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1229
        def test_bug_7358_2(self):
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1230
                """Does same check as 7358_1 except it checks for interactions
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1231
                with writable root."""
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1232
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1233
                durl = self.dc.get_depot_url()
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1234
                depotpath = self.dc.get_repodir()
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1235
                ind_dir = os.path.join(depotpath, "index")
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1236
                shutil.rmtree(ind_dir)
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1237
                writable_root = os.path.join(self.get_test_prefix(),
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1238
                    "writ_root")
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1239
                writ_dir = os.path.join(writable_root, "index")
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1240
                self.dc.set_writable_root(writable_root)
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1241
                
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1242
                self.image_create(durl)
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1243
                progresstracker = progress.NullProgressTracker()
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1244
                api_obj = api.ImageInterface(self.get_img_path(), API_VERSION,
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1245
                    progresstracker, lambda x: False, PKG_CLIENT_NAME)
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1246
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1247
                # Check when depot is empty.
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1248
                self.__corrupt_depot(writ_dir)
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1249
                # Since the depot is empty, should return no results but
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1250
                # not error.
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1251
                self.assert_(not os.path.isdir(ind_dir))
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1252
                self.__wait_for_indexing(os.path.join(writ_dir, "TMP"))
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1253
                self._search_op(api_obj, True, 'e*', set())
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1254
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1255
                self.pkgsend_bulk(durl, self.example_pkg10)
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1256
                self.__wait_for_indexing(os.path.join(writ_dir, "TMP"))
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1257
                
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1258
                # Check when depot contains a package.
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1259
                self.__corrupt_depot(writ_dir)
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1260
                self.__wait_for_indexing(os.path.join(writ_dir, "TMP"))
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1261
                self.assert_(not os.path.isdir(ind_dir))
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1262
                self._run_remote_tests(api_obj)
01f531556b53 7358 Depot throws a stack trace when started with an old index (should rebuild)
Brock Pytlik <bpytlik@sun.com>
parents: 996
diff changeset
  1263
983
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1264
        def test_bug_7628(self):
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1265
                """Checks whether incremental update generates wrong
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1266
                additional lines."""
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1267
                durl = self.dc.get_depot_url()
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1268
                depotpath = self.dc.get_repodir()
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1269
                ind_dir = os.path.join(depotpath, "index")
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1270
                tok_file = os.path.join(ind_dir, ss.BYTE_OFFSET_FILE)
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1271
                main_file = os.path.join(ind_dir, ss.MAIN_FILE)
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1272
                self.pkgsend_bulk(durl, self.example_pkg10)
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1273
                time.sleep(1)
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1274
                fh = open(tok_file)
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1275
                tok_1 = fh.readlines()
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1276
                tok_len = len(tok_1)
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1277
                fh.close()
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1278
                fh = open(main_file)
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1279
                main_1 = fh.readlines()
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1280
                main_len = len(main_1)
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1281
                self.pkgsend_bulk(durl, self.example_pkg10)
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1282
                time.sleep(1)
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1283
                fh = open(tok_file)
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1284
                tok_2 = fh.readlines()
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1285
                new_tok_len = len(tok_2)
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1286
                fh.close()
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1287
                fh = open(main_file)
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1288
                main_2 = fh.readlines()
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1289
                new_main_len = len(main_2)
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1290
                fh.close()
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1291
                self.assert_(new_tok_len == tok_len)
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1292
                self.assert_(new_main_len == main_len)
01a9ed1ec49a 7628 Incremental update on server mangle indexes
Brock Pytlik <bpytlik@sun.com>
parents: 941
diff changeset
  1293
941
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1294
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1295
class TestApiSearchMulti(testutils.ManyDepotTestCase):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1296
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1297
        example_pkg10 = """
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1298
            open [email protected],5.11-0
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1299
            close """
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1300
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1301
        def setUp(self):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1302
                testutils.ManyDepotTestCase.setUp(self, 2)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1303
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1304
                durl1 = self.dcs[1].get_depot_url()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1305
                durl2 = self.dcs[2].get_depot_url()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1306
                self.pkgsend_bulk(durl2, self.example_pkg10)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1307
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1308
                self.image_create(durl1, prefix = "test1")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1309
                self.pkg("set-publisher -O " + durl2 + " test2")
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1310
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1311
        def test_bug_2955(self):
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1312
                """See http://defect.opensolaris.org/bz/show_bug.cgi?id=2955"""
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1313
                progresstracker = progress.NullProgressTracker()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1314
                api_obj = api.ImageInterface(self.get_img_path(), API_VERSION,
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1315
                    progresstracker, lambda x: False, PKG_CLIENT_NAME)
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1316
                TestApiSearchBasics._do_install(api_obj, ["example_pkg"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1317
                api_obj.rebuild_search_index()
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1318
                TestApiSearchBasics._do_uninstall(api_obj, ["example_pkg"])
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1319
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1320
if __name__ == "__main__":
e7bff46da54e 6175 search needs to be moved to version 1
Brock Pytlik <bpytlik@sun.com>
parents:
diff changeset
  1321
        unittest.main()