1 #!/usr/bin/ksh 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, Version 1.0 only 7 # (the "License"). You may not use this file except in compliance 8 # with the License. 9 # 10 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11 # or http://www.opensolaris.org/os/licensing. 12 # See the License for the specific language governing permissions 13 # and limitations under the License. 14 # 15 # When distributing Covered Code, include this CDDL HEADER in each 16 # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17 # If applicable, add the following below this CDDL HEADER, with the 18 # fields enclosed by brackets "[]" replaced with your own identifying 19 # information: Portions Copyright [yyyy] [name of copyright owner] 20 # 21 # CDDL HEADER END 22 # 23 # 24 #ident "%Z%%M% %I% %E% SMI" 25 # 26 # Copyright (c) 2001 by Sun Microsystems, Inc. 27 # All rights reserved. 28 # 29 30 # 31 # Source the utilities. 32 # 33 DIRNAME=`dirname $0` 34 . ${DIRNAME}/utilities.san 35 36 # 37 # Process the input arguments. 38 # 39 VALIDOPTS=dr:p: 40 process_args $@ 41 42 # 43 # Set variables. 44 # 45 TESTNAME=`basename $0` 46 if [ ! -z "${DEBUG}" ] 47 then 48 OUTFILE=/tmp/${TESTNAME}.$$ 49 echo "Output from test: ${TESTNAME}" >${OUTFILE} 50 echo >>${OUTFILE} 51 echo "debug output can be found at ${OUTFILE}" 52 else 53 OUTFILE=/dev/null 54 fi 55 56 # 57 # Display the table. 58 # 59 DATAFILE=/tmp/${TESTNAME}.data.$$ 60 /usr/sbin/dhtadm -r ${DHCPRSRC} -p ${DHCPPATH} -P >${DATAFILE} 2>>${OUTFILE} 61 RET=$? 62 if [ "${RET}" != "0" ] 63 then 64 rm ${DATAFILE} 65 echo "Error displaying dhcptab = ${RET}" 66 echo "${TESTNAME} - Test failed!" 67 exit 1 68 fi 69 70 # 71 # Verify that the option is in the displayed output. 72 # 73 OPTION=`grep "^TestOpt" ${DATAFILE}` 74 if [ -z "${OPTION}" ] 75 then 76 rm ${DATAFILE} 77 echo "Option, TestOpt, not found in dhcptab" 78 echo "${TESTNAME} - Test failed!" 79 exit 1 80 fi 81 82 # 83 # Verify that the defintion was defined correctly 84 # 85 OPTION_DEFINITION=$(get_value ${OPTION}) 86 if [ "${OPTION_DEFINITION}" != "Site,130,IP,1,0" ] 87 then 88 echo "Option definition is not valid: ${OPTION_DEFINITION}" 89 echo "${TESTNAME} - Test failed!" 90 exit 1 91 fi 92 93 # 94 # Verify that the macro is in the displayed output. 95 # 96 MACRO=`grep "^TestMac" ${DATAFILE}` 97 if [ -z "${MACRO}" ] 98 then 99 rm ${DATAFILE} 100 echo "Macro, TestMac, not found in dhcptab" 101 echo "${TESTNAME} - Test failed!" 102 exit 1 103 fi 104 rm ${DATAFILE} 105 106 # 107 # Verify that the defintion was defined correctly 108 # 109 MACRO_DEFINITION=$(get_value ${MACRO}) 110 SRCH=":TestOpt=129.148.11.240:" 111 macro_find_and_replace 112 113 # 114 # Verify that there was nothing else in the definition 115 # 116 if [ "${MACRO_DEFINITION}" != ":" ] 117 then 118 echo "Macro definition has invalid extra symbols: ${MACRO_DEFINITION}" 119 echo "${TESTNAME} - Test failed!" 120 exit 1 121 fi 122 123 echo "${TESTNAME} - Test passed." 124 exit 0