1 #
2 # CDDL HEADER START
3 #
4 # The contents of this file are subject to the terms of the
5 # Common Development and Distribution License (the "License").
6 # You may not use this file except in compliance with the License.
7 #
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
12 #
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
18 #
19 # CDDL HEADER END
20 #
21
22 #
23 # Copyright 2008 Sun Microsystems, Inc. All rights reserved.
24 # Use is subject to license terms.
25 #
26 # ident "@(#)tp_create_009.ksh 1.3 08/06/11 SMI"
27 #
28
29 #
30 # create-share test case
31 #
32
33 #__stc_assertion_start
34 #
35 #ID: create009
36 #
37 #DESCRIPTION:
38 #
39 # Create a group shares legacy shares from /etc/dfs/dfstab
40 # if they are not shared.
41 #
42 #STRATEGY:
43 #
44 # Setup:
45 # - Add a legacy share line to the /etc/dfs/dfstab
46 # Test:
47 # - use the create command to create a group
48 # - Check that the legacy share is not shared.
49 # Cleanup:
50 # - Delete any groups created
51 # - Delete any shares created
52 # - Remove the line from the /etc/dfs/dfstab
53 #
54 # STRATEGY_NOTES:
55 #
56 #KEYWORDS:
57 #
58 # create
59 #
60 #TESTABILITY: explicit
61 #
62 #AUTHOR: sean.wilcox@sun.com
63 #
64 #REVIEWERS: TBD
65 #
66 #TEST_AUTOMATION_LEVEL: automated
67 #
68 #CODING_STATUS: COMPLETE
69 #
70 #__stc_assertion_end
71 function create009 {
72 tet_result PASS
73 tc_id="create009"
74 tc_desc="Sharemgr should not share unshared legacy shares from /etc/dfs/dfstab"
75 cmd_list=""
76 unset GROUPS
77 print_test_case $tc_id - $tc_desc
78 #
79 # Backup and edit the /etc/dfs/dfstab file
80 #
81 cp /etc/dfs/dfstab /etc/dfs/dfstab.tet_sharemgr_test
82 sleep 1
83 if [ $? -ne 0 ]
84 then
85 tet_infoline "Could not back /etc/dfs/dfstab"
86 tet_result UNRESOLVED
87 return
88 fi
89 tet_infoline "Writing following line to dfstab"
90 tet_infoline "share -F nfs ${MP[0]}"
91 echo "share -F nfs ${MP[0]}" >> /etc/dfs/dfstab
92 #
93 # Create a group. (Dry run then for real.)
94 #
95 create ${TG[0]} -n
96 create ${TG[0]}
97 #
98 # Check to see if the legacy share is shared
99 #
100 $LEGACYSHARE | grep "${MP[0]}" > /dev/null 2>&1
101 if [ $? -eq 0 ]
102 then
103 tet_infoline "FAIL - sharemgr shared the legacy share "\
104 "from dfstab"
105 tet_result FAIL
106 else
107 if [ $verbose ]
108 then
109 tet_infoline "PASS - sharemgr did not share "\
110 "the legacy share"
111 fi
112 fi
113 #
114 # Cleanup
115 #
116 delete_all_test_groups
117 mv /etc/dfs/dfstab.tet_sharemgr_test /etc/dfs/dfstab
118 #
119 # Check to see if the share shows up in sharemgr if so, mark
120 # as a failure and remove the share so as not to propagate
121 # failure to future tests.
122 #
123 $SHAREMGR show | grep ${MP[0]} > /dev/null
124 if [ $? -eq 0 ]
125 then
126 tet_infoline "FAIL - sharemgr shows ${MP[0]} is shared."
127 tet_result FAIL
128 tp_create0009_grp=`which_group ${MP[0]}`
129 remove_share POS $tp_create0009_grp ${MP[0]}
130 fi
131 report_cmds POS
132 }