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 }