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