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 # In case the tester wants to see script output, allow them 44 # to run in debug mode. 45 # 46 TESTNAME=`basename $0` 47 if [ ! -z "${DEBUG}" ] 48 then 49 OUTFILE=/tmp/${TESTNAME}.$$ 50 echo "Output from test: ${TESTNAME}" >${OUTFILE} 51 echo >>${OUTFILE} 52 echo "debug output can be found at ${OUTFILE}" 53 else 54 OUTFILE=/dev/null 55 fi 56 57 # 58 # Set variables. 59 # 60 61 SRVNAME=`uname -n` 62 SRVADDR=`get_server_ip` 63 DHCPCONFIG=/usr/sbin/dhcpconfig 64 EXPORTFILE=/tmp/move.zip 65 66 # 67 # Export. 68 # 69 ${DHCPCONFIG} -X ${EXPORTFILE} -m ALL -o ALL -a ALL -f -x >>${OUTFILE} 2>&1 70 RET=$? 71 if [ "${RET}" != "0" ] 72 then 73 echo "Error exporting DHCP data = ${RET}" 74 echo "${TESTNAME} - Test failed!" 75 exit 1 76 fi 77 78 # 79 # Verify that the export file exists. 80 # 81 if [ ! -f ${EXPORTFILE} ] 82 then 83 echo "${EXPORTFILE} does not exist" 84 echo "${TESTNAME} - Test failed!" 85 exit 1 86 fi 87 88 # 89 # Verify that all symbols and macros was removed from the dhcptab. 90 # 91 DATAFILE=/tmp/${TESTNAME}.data.$$ 92 /usr/sbin/dhtadm -r ${DHCPRSRC} -p ${DHCPPATH} -P >${DATAFILE} 2>>${OUTFILE} 93 RET=$? 94 if [ "${RET}" != "0" ] 95 then 96 rm ${DATAFILE} 97 echo "Error displaying dhcptab = ${RET}" 98 echo "${TESTNAME} - Test failed!" 99 exit 1 100 fi 101 102 ENTRIES=`wc -l ${DATAFILE} | sed 's/^ *//' | cut -d " " -f1,1` 103 if [ "${ENTRIES}" != "2" ] 104 then 105 rm ${DATAFILE} 106 echo "The dhcptab is not empty as it should be." 107 echo "${TESTNAME} - Test failed!" 108 exit 1 109 fi 110 rm ${DATAFILE} 111 112 # 113 # Verify that the network tables were removed. 114 # 115 /usr/sbin/pntadm -r ${DHCPRSRC} -p ${DHCPPATH} -L >${DATAFILE} 2>>${OUTFILE} 116 RET=$? 117 if [ "${RET}" != "0" ] 118 then 119 rm ${DATAFILE} 120 echo "Error listing networks = ${RET}" 121 echo "${TESTNAME} - Test failed!" 122 exit 1 123 fi 124 125 ENTRIES=`wc -l ${DATAFILE} | sed 's/^ *//' | cut -d " " -f1,1` 126 if [ "${ENTRIES}" != "0" ] 127 then 128 rm ${DATAFILE} 129 echo "Some network tables still exist and they should not." 130 echo "${TESTNAME} - Test failed!" 131 exit 1 132 fi 133 rm ${DATAFILE} 134 135 echo "${TESTNAME} - Test passed." 136 exit 0