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 }