1 #! /usr/bin/ksh -p
2 #
3 # CDDL HEADER START
4 #
5 # The contents of this file are subject to the terms of the
6 # Common Development and Distribution License (the "License").
7 # You may not use this file except in compliance with the License.
8 #
9 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 # or http://www.opensolaris.org/os/licensing.
11 # See the License for the specific language governing permissions
12 # and limitations under the License.
13 #
14 # When distributing Covered Code, include this CDDL HEADER in each
15 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 # If applicable, add the following below this CDDL HEADER, with the
17 # fields enclosed by brackets "[]" replaced with your own identifying
18 # information: Portions Copyright [yyyy] [name of copyright owner]
19 #
20 # CDDL HEADER END
21 #
22
23 #
24 # Copyright 2008 Sun Microsystems, Inc. All rights reserved.
25 # Use is subject to license terms.
26 #
27 # control program for OPENATTR op tests
28
29 [[ -n $DEBUG && $DEBUG != 0 ]] && set -x
30
31 NAME=$(basename $0)
32 DIR=$(dirname $0)
33 CDIR=$(pwd)
34 TESTROOT=${TESTROOT:-"$CDIR/../../"}
35 TESTTAG="OPENATTR"
36 TESTLIST=$(egrep -v "^#|^ *$" ${TESTTAG}.flist)
37
38 # sourcing framework global environment variables created after go_setup
39 # and for this purpose only this file should be sourced
40 CONFIGFILE=/var/tmp/nfsv4/config/config.suite
41 if [[ ! -f $CONFIGFILE ]]; then
42 echo "$NAME: CONFIGFILE[$CONFIGFILE] not found;"
43 echo "\texit UNINITIATED."
44 exit 6
45 fi
46 . $CONFIGFILE
47
48 #source support functions
49 TESTSH="$TESTROOT/testsh"
50 . $TESTSH
51
52 iscipso=0
53 is_cipso "vers=4" $SERVER
54 if (( $? == $CIPSO_NFSV4 )); then
55 iscipso=1
56 # In openattr_neg03{a}, we need to do "Openattr" operation in non-global zone
57 # for TX test, so add a tcl script to non-global zone.
58 echo "connect $SERVER" > $ZONE_PATH/root/openattr_neg03
59 echo 'set res [compound {Putfh $env(qfh); Lookup $env(RWFILE); Openattr T}]' \
60 >> $ZONE_PATH/root/openattr_neg03
61 echo 'puts "$status $res"' >> $ZONE_PATH/root/openattr_neg03
62 echo 'disconnect' >> $ZONE_PATH/root/openattr_neg03
63 fi
64
65 # Start the tests with some information
66 echo
67 echo "Testing at CLIENT=[$CLIENT] to SERVER=[$SERVER]"
68 echo "Started $TESTTAG op tests at [$(date)] ..."
69 echo
70
71 # Now ready to run the tests
72 (
73 for t in $TESTLIST; do
74 # Need to switch to $TUSER2 for quota testing
75 grep DQUOT $t >/dev/null 2>&1
76 rc=$?
77 grep $TUSER2 /etc/passwd >/dev/null 2>&1
78 rc=$(( $rc + $iscipso + $? ))
79 if (( $rc == 0 )); then
80 su $TUSER2 -c "(. $CONFIGFILE; \
81 $TESTROOT/nfsh $t)"
82 else
83 $TESTROOT/nfsh $t
84 fi
85 done
86 )
87
88 [[ $iscipso == 1 ]] && rm $ZONE_PATH/root/openattr_neg03
89
90 echo
91 echo "Testing ends at [$(date)]."
92 echo
93 exit $PASS