| #! /bin/sh |
| #*********************************************************************** |
| # |
| # Copyright (c) International Business Machines Corp., 2000 |
| # |
| # This program is free software; you can redistribute it and/or modify |
| # it under the terms of the GNU General Public License as published by |
| # the Free Software Foundation; either version 2 of the License, or |
| # (at your option) any later version. |
| # |
| # This program is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See |
| # the GNU General Public License for more details. |
| # |
| # You should have received a copy of the GNU General Public License |
| # along with this pronram; if not, write to the Free Software |
| # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| # |
| # |
| # |
| # FILE : ping |
| # |
| # PURPOSE: To test the basic functionality of the `ping` command. |
| # |
| # SETUP: If "RHOST" is not exported, then the local hostname is used. |
| # |
| # HISTORY: |
| # 03/01 Robbie Williamson (robbiew@us.ibm.com) |
| # -Ported |
| # |
| # |
| #*********************************************************************** |
| # Uncomment line below for debug output |
| #trace_logic=${trace_logic:-"set -x"} |
| $trace_logic |
| |
| TC=ping |
| |
| RHOST=${RHOST:-`hostname`} |
| COUNT=${COUNT:-5} |
| SLEEPTIME=${SLEEPTIME:-1} |
| PACKETSIZES=${PACKETSIZES:-"8 16 32 64 128 256 512 1024 2048 4064"} |
| |
| #----------------------------------------------------------------------- |
| # |
| # FUNCTION: do_test |
| # PURPOSE: Executes the testcases. |
| # |
| #----------------------------------------------------------------------- |
| |
| do_test() |
| { |
| $trace_logic |
| |
| for packetsize in $PACKETSIZES |
| do |
| ping -R -c $COUNT -s $packetsize $RHOST |
| [ $? -eq 0 ] || end_testcase "failed: ping -c $COUNT -s $packetsize $RHOST" |
| sleep $SLEEPTIME |
| done |
| } |
| |
| #============================================================================= |
| # FUNCTION NAME: end_testcase |
| # |
| # FUNCTION DESCRIPTION: Clean up |
| # |
| # PARAMETERS: string, IF AND ONLY IF the testcase fails |
| # |
| # RETURNS: None. |
| #============================================================================= |
| |
| end_testcase() |
| { |
| $trace_logic |
| |
| [ $# -eq 0 ] && { echo "Test Successful"; exit 0; } |
| echo "Test Failed: $@" |
| exit 1 |
| } |
| |
| #******************************************************************************* |
| # |
| # FUNCTION: MAIN |
| # |
| #******************************************************************************* |
| do_test |
| end_testcase |