view usr/src/cmd/cmd-inet/usr.sadm/dhcpmgr/com/sun/dhcpmgr/cli/tests/export.san @ 0:c9caec207d52 b86

Initial porting based on b86
author Koji Uno <koji.uno@sun.com>
date Tue, 02 Jun 2009 18:56:50 +0900
parents
children 1a15d5aaf794
line wrap: on
line source

#!/usr/bin/ksh
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License, Version 1.0 only
# (the "License").  You may not use this file except in compliance
# with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
#ident	"@(#)export.san	1.2	05/06/08 SMI"
#
# Copyright (c) 2001 by Sun Microsystems, Inc.
# All rights reserved.
#

#
# Source the utilities.
#
DIRNAME=`dirname $0`
. ${DIRNAME}/utilities.san

#
# Process the input arguments.
#
VALIDOPTS=dr:p:
process_args $@

#
# In case the tester wants to see script output, allow them
# to run in debug mode.
#
TESTNAME=`basename $0`
if [ ! -z "${DEBUG}" ]
then
    OUTFILE=/tmp/${TESTNAME}.$$
    echo "Output from test: ${TESTNAME}" >${OUTFILE}
    echo >>${OUTFILE}
    echo "debug output can be found at ${OUTFILE}"
else
    OUTFILE=/dev/null
fi

#
# Set variables.
#

SRVNAME=`uname -n`
SRVADDR=`get_server_ip`
DHCPCONFIG=/usr/sbin/dhcpconfig
EXPORTFILE=/tmp/move.zip

#
# Export.
#
${DHCPCONFIG} -X ${EXPORTFILE} -m ALL -o ALL -a ALL -f -x >>${OUTFILE} 2>&1
RET=$?
if [ "${RET}" != "0" ]
then
    echo "Error exporting DHCP data = ${RET}"
    echo "${TESTNAME} - Test failed!"
    exit 1
fi

#
# Verify that the export file exists.
#
if [ ! -f ${EXPORTFILE} ]
then
    echo "${EXPORTFILE} does not exist"
    echo "${TESTNAME} - Test failed!"
    exit 1
fi

#
# Verify that all symbols and macros was removed from the dhcptab.
#
DATAFILE=/tmp/${TESTNAME}.data.$$
/usr/sbin/dhtadm -r ${DHCPRSRC} -p ${DHCPPATH} -P >${DATAFILE} 2>>${OUTFILE}
RET=$?
if [ "${RET}" != "0" ]
then
    rm ${DATAFILE}
    echo "Error displaying dhcptab = ${RET}"
    echo "${TESTNAME} - Test failed!"
    exit 1
fi

ENTRIES=`wc -l ${DATAFILE} | sed 's/^ *//' | cut -d " " -f1,1`
if [ "${ENTRIES}" != "2" ]
then
    rm ${DATAFILE}
    echo "The dhcptab is not empty as it should be."
    echo "${TESTNAME} - Test failed!"
    exit 1
fi
rm ${DATAFILE}

#
# Verify that the network tables were removed.
#
/usr/sbin/pntadm -r ${DHCPRSRC} -p ${DHCPPATH} -L >${DATAFILE} 2>>${OUTFILE}
RET=$?
if [ "${RET}" != "0" ]
then
    rm ${DATAFILE}
    echo "Error listing networks = ${RET}"
    echo "${TESTNAME} - Test failed!"
    exit 1
fi

ENTRIES=`wc -l ${DATAFILE} | sed 's/^ *//' | cut -d " " -f1,1`
if [ "${ENTRIES}" != "0" ]
then
    rm ${DATAFILE}
    echo "Some network tables still exist and they should not."
    echo "${TESTNAME} - Test failed!"
    exit 1
fi
rm ${DATAFILE}

echo "${TESTNAME} - Test passed."
exit 0