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_004.ksh 1.3 08/06/11 SMI"
27 #
28
29 #
30 # create-share test case
31 #
32
33 #__stc_assertion_start
34 #
35 #ID: create004
36 #
37 #DESCRIPTION:
38 #
39 # Sharemgr should not crash with bad lines in /etc/dfs/dfstab"
40 #
41 #STRATEGY:
42 #
43 # Setup:
44 # - Add a legacy share line to the /etc/dfs/dfstab with a bad
45 # description (no quotes)
46 # Test:
47 # - use the create command to create a group
48 # - Check that the legacy share line still exists
49 # - Check that sharemgr did not have any problems
50 # Cleanup:
51 # - Delete any groups created
52 # - Delete any shares created
53 # - Remove the line from the /etc/dfs/dfstab
54 #
55 # STRATEGY_NOTES:
56 #
57 #KEYWORDS:
58 #
59 # create legacy
60 #
61 #TESTABILITY: explicit
62 #
63 #AUTHOR: sean.wilcox@sun.com
64 #
65 #REVIEWERS: TBD
66 #
67 #TEST_AUTOMATION_LEVEL: automated
68 #
69 #CODING_STATUS: COMPLETE
70 #
71 #__stc_assertion_end
72 function create004 {
73 tet_result PASS
74 tc_id="create004"
75 tc_desc="Sharemgr should not crash with bad lines in /etc/dfs/dfstab"
76 cmd_list=""
77 unset GROUPS
78 print_test_case $tc_id - $tc_desc
79 #
80 # Backup and edit the /etc/dfs/dfstab file
81 #
82 cp /etc/dfs/dfstab /etc/dfs/dfstab.tet_sharemgr_test
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 the following line with syntax error to dfstab :"
90 tet_infoline " share -F nfs -d tet share tests ${MP[0]}"
91 echo "share -F nfs -d tet share tests ${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 still exists.
99 #
100 grep "tet share tests" /etc/dfs/dfstab > /dev/null 2>&1
101 if [ $? -ne 0 ]
102 then
103 tet_infoline "FAIL - sharemgr removed the legacy share from dfstab"
104 tet_result FAIL
105 else
106 if [ $verbose ]
107 then
108 tet_infoline "PASS - sharemgr left the legacy share"
109 fi
110 fi
111 #
112 # Cleanup
113 #
114 delete_all_test_groups
115 mv /etc/dfs/dfstab.tet_sharemgr_test /etc/dfs/dfstab
116 report_cmds POS
117 }