blob: 6bd608b2066866612029d66a0f357f70a01ab7d5 [file] [log] [blame]
#!/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 program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
#
#
# FILE : rsh
#
# PURPOSE: To test the basic functionality of the `rsh` command.
#
# SETUP: The home directory of root on the machine exported as "RHOST"
# MUST have a ".rhosts" file with the hostname of the machine
# where the test is executed.
#
# HISTORY:
# 03/01 Robbie Williamson (robbiew@us.ibm.com)
# -Ported
#
#
#
#----------------------------------------------------------------------
do_setup()
{
FAIL_IMMEDIATELY=${FAIL_IMMEDIATELY:-1}
SLEEPTIME=${SLEEPTIME:-0}
NUMLOOPS=${NUMLOOPS:-1}
export TST_TOTAL=$NUMLOOPS
tst_setup
exists awk hostname rsh
RHOST=${RHOST:-`hostname`}
}
#-----------------------------------------------------------------------
#
# FUNCTION: do_test
#
#-----------------------------------------------------------------------
do_test()
{
while [ $TST_COUNT -le $NUMLOOPS ]; do
PASSED=0
if OUT=$(rsh -n -l root $RHOST 'ls -l /etc/hosts'); then
#
# Successful output would be something of the form:
#
# gcooper@orangebox ~ $ ls -l /etc/hosts
# -rw-r--r-- 1 root root 463 Jul 5 09:26 /etc/hosts
#
echo "$OUT" |
awk 'BEGIN { RET=1 } NF == 9 && $NF == "/etc/hosts" { RET=0 } END { exit RET }' \
> /dev/null 2>&1
if [ $? -eq 0 ] ; then
tst_resm TPASS "rsh to $RHOST test succeeded"
PASSED=1
fi
fi
if [ $PASSED -ne 1 ] ; then
tst_resm TFAIL "rsh to $RHOST failed"
# If the first rsh failed, the likelihood that the rest will
# succeed is low.
if [ "$FAIL_IMMEDIATELY" = "1" ] && [ $TST_COUNT -eq 1 ]; then
exit 2
fi
fi
sleep $SLEEPTIME
incr_tst_count
done
}
#----------------------------------------------------------------------
# FUNCTION: MAIN
# PURPOSE: To invoke the functions to perform the tasks described in
# the prologue.
# INPUT: None.
# OUTPUT: A testcase run log with the results of the execution of this
# test.
#----------------------------------------------------------------------
. net_cmdlib.sh
read_opts $*
do_setup
do_test
end_testcase