Hi!
On 12/26/2014 01:58 PM, Zeng Linggang wrote:
> * Add 'TCID' and 'TST_TOTAL'.
>
> * Use 'test.sh'.
>
> * Delete some useless comment.
>
> * Some cleanup.
>
> Signed-off-by: Zeng Linggang <[email protected]>
> ---
> testcases/network/tcp_cmds/rlogin/rlogin01 | 140
> +++++++++++++++--------------
> 1 file changed, 71 insertions(+), 69 deletions(-)
>
> diff --git a/testcases/network/tcp_cmds/rlogin/rlogin01
> b/testcases/network/tcp_cmds/rlogin/rlogin01
> index ae670c9..f09f252 100755
> --- a/testcases/network/tcp_cmds/rlogin/rlogin01
> +++ b/testcases/network/tcp_cmds/rlogin/rlogin01
> @@ -1,5 +1,4 @@
> -#! /usr/bin/expect -f
> -#*********************************************************************
> +#!/bin/sh
> # Copyright (c) International Business Machines Corp., 2000
> #
> # This program is free software; you can redistribute it and/or modify
> @@ -16,87 +15,90 @@
> # along with this program; if not, write to the Free Software
> # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
> 02110-1301 USA
> #
> -#
> -#
> -# FILE : rlogin
> -#
> -# PURPOSE: Tests the basic functionality of `rlogin`.
> -#
> # SETUP: The program `/usr/bin/expect' MUST be installed.
> # The home directory of root on the machine exported as "RHOST"
> # should have a ".rhosts" file with the hostname of the machine
> # where the test is executed, OR the "PASSWD" section below MUST
> # be uncommented and set.
> #
> -# HISTORY:
> # 03/01 Robbie Williamson ([email protected])
> -# -Ported
> #
> -#
> -# rlogin perform a rlogin session to each host in HOST_LIST with user
> -# RUSER for a count of LOOPCOUNT and does an ls -l /etc/hosts to
> -# verify that the rlogin was established.
> -#
> -#*********************************************************************
>
> -set TC rlogin
> -set TCtmp "/tmp"
> -set SLEEPTIME 3
> -set TESTLOG "$TCtmp"
> +TCID="rlogin01"
> +TST_TOTAL=1
> +. test.sh
> +
> +setup()
> +{
> + if [ -z $RUSER ]; then
> + RUSER=root
> + fi
> +
> + if [ -z $PASSWD ]; then
> + tst_brkm TCONF "Please set PASSWD for $RUSER."
> + fi
>
> -if [info exists env(RUSER)] {
> - set RUSER $env(RUSER)
> -} else {
> - set RUSER root
> + if [ -z $RHOST ]; then
> + tst_brkm TCONF "Please set RHOST."
> + fi
> +
> + if [ -z $LOOPCOUNT ]; then
> + LOOPCOUNT=25
> + fi
> }
>
> -set RHOST $env(RHOST)
> -set timeout 10
> +do_test()
> +{
> + tst_resm TINFO "Starting"
>
> -if [info exists env(LOOPCOUNT)] {
> - set LOOPCOUNT $env(LOOPCOUNT)
> -} else {
> - set LOOPCOUNT 25
> + for ((count=0;count<${LOOPCOUNT};count++)) {
> + rlogin_test
> + }
> }
>
Why the return status of rlogin_test() not checked here, but only the
last one after do_test()? May be, we could write something like this:
'rlogin_test || return 1'.
'for (())' is a bash extension, you can do the same with for i in $(seq
0 $LOOPCOUNT); do ... done.
> -# stty echo
> -send_user " Starting\n"
> -
> -set count 0
> -while {$count < $LOOPCOUNT} {
> - set count [expr $count+1]
> - send_user "Host: $RHOST\n"
> -
> - # rlogin to the host
> - spawn rlogin $RHOST -l $RUSER
> -
> - # Uncomment code below and add root's passwd if .rhosts file is not
> - # present on remote host.
> - #---------------------------------
> - #set PASSWD "<ROOT PASSWORD HERE>"
> - #expect -re "Password:"
> - #send "$PASSWD\r"
> -
> - # Wait for shell prompt
> - expect -re "$RUSER@"
> -
> - # Run passwd command - and respond to its prompts
> - send "LC_ALL=C ls -l /etc/hosts | wc -w > $TESTLOG/$RUSER.$RHOST \r"
> - # When shell prompt comes back, logout
> -
> - expect -re "$RUSER@"
> - exp_send "logout\r"
> -
> - send_user "CHECKING RLOGIN STATUS\n"
> - set nummatch [exec rsh -n -l $RUSER $RHOST "cat
> $TESTLOG/$RUSER.$RHOST|grep -c 9"]
> - if {$nummatch==1} {
> - send_user "$TC interactive Test Successful in LOOP $count\r"
> - exec rsh -n -l $RUSER $RHOST "rm -f $TESTLOG/$RUSER.$RHOST"
> - } else {
> - send_user "$TC interactive session FAILED\r"
> - exit 1
> - }
> +rlogin_test()
> +{
> + expect -c "
> + spawn rlogin $RHOST -l $RUSER
> +
> + expect {
> + \"Password:\" {
> + send \"$PASSWD\r\"
> + expect -re \"$RUSER@\"
> + send \"LC_ALL=C ls -l /etc/hosts | \\
> + wc -w > $RUSER.$RHOST\r\"
> + }
> + \"$RUSER@\" {
> + send \"LC_ALL=C ls -l /etc/hosts | \\
> + wc -w > $RUSER.$RHOST\r\"
> + }
> + }
> +
> + expect -re \"$RUSER@\"
> + send \"LC_ALL=C ls -l /etc/hosts | wc -w > $RUSER.$RHOST\r\"
> +
> + expect -re \"$RUSER@\"
> + exp_send \"logout\r\"
> +
> + send_user \"CHECKING RLOGIN STATUS\n\";
> +
> + set nummatch [exec rsh -n -l $RUSER $RHOST \\
> + \"grep -c 9 $RUSER.$RHOST\"]
> + if {\$nummatch==1} {
> + exec rsh -n -l $RUSER $RHOST \"rm -f $RUSER.$RHOST\"
> + } else {
> + exit 1
> + }
> + "
> }
>
> -send_user "\nTest PASSES\n\n"
> -exit 0
> +setup
> +
> +do_test
> +if [ $? -ne 0 ]; then
> + tst_resm TFAIL "Test $TCID failed."
> +else
> + tst_resm TPASS "Test $TCID successed."
> +fi
> +
> +tst_exit
Thanks,
Alexey
------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list