From: Alexey <alexey.kodanev@oracle.com>
To: Zeng Linggang <zenglg.jy@cn.fujitsu.com>
Cc: ltp-list <ltp-list@lists.sourceforge.net>
Subject: Re: [LTP] [PATCH 1/2] network ftp: some cleanup
Date: Thu, 31 Jul 2014 15:55:06 +0400 [thread overview]
Message-ID: <53DA2E9A.5030902@oracle.com> (raw)
In-Reply-To: <1406634124.3928.1.camel@G08JYZSD130126>
Hi Zeng!
On 07/29/2014 03:42 PM, Zeng Linggang wrote:
> * Move do_setup and do_cleanup into ftp_setup.
>
> * Delete ftp02_s1 and add do_test function for it.
>
> * Delete ftp_set_passwd and ftp_setup_vsftp_conf, since they are not be used.
>
> * Use test.sh instead of net_cmdlib.sh
>
> * Define local exists function instead of which in cmdlib.sh
>
> * Abandon trap and use tst_exit.
>
> * Make the test like:
> (set TCID TST_TOTAL ...)
> setup
> do_test
> check_result
> tst_exit
>
> * Some cleanup.
>
> Signed-off-by: Zeng Linggang <zenglg.jy@cn.fujitsu.com>
> ---
> testcases/network/tcp_cmds/ftp/ftp02 | 100 +++++++-----
> testcases/network/tcp_cmds/ftp/ftp02_s1 | 71 ---------
> testcases/network/tcp_cmds/ftp/ftp03 | 177 ++++++++-------------
> testcases/network/tcp_cmds/ftp/ftp04 | 109 ++++++-------
> testcases/network/tcp_cmds/ftp/ftp05 | 149 ++++++++---------
> testcases/network/tcp_cmds/ftp/ftp_set_passwd | 28 ----
> testcases/network/tcp_cmds/ftp/ftp_setup | 82 ++++++++++
> .../network/tcp_cmds/ftp/ftp_setup_vsftp_conf | 5 -
> 8 files changed, 320 insertions(+), 401 deletions(-)
> delete mode 100755 testcases/network/tcp_cmds/ftp/ftp02_s1
> delete mode 100755 testcases/network/tcp_cmds/ftp/ftp_set_passwd
> create mode 100644 testcases/network/tcp_cmds/ftp/ftp_setup
> delete mode 100755 testcases/network/tcp_cmds/ftp/ftp_setup_vsftp_conf
>
> diff --git a/testcases/network/tcp_cmds/ftp/ftp02 b/testcases/network/tcp_cmds/ftp/ftp02
> index 6d6e021..a86319f 100755
> --- a/testcases/network/tcp_cmds/ftp/ftp02
> +++ b/testcases/network/tcp_cmds/ftp/ftp02
> @@ -28,59 +28,73 @@
> # NOTE:
> # This version is intended for EAL certification, it will need modification
> # to conform with LTP standards in the offical LTP tree.
> +#
> +# DESCRIPTION:
> +# Create Test User
> +# Make sure test user cannont log in with invalid password
> +# Cleanup Test User from system
> +# Exit with exit code of script called upon
> +#
>
> -#-----------------------------------------------------------------------
> -# FUNCTION: do_setup
> -#-----------------------------------------------------------------------
> -
> -do_setup()
> +setup()
> {
> + exists expect ftp useradd userdel
We don't need "exists()" anymore, use tst_check_cmd() from test.sh instead.
> + export TEST_USER="ftpuser2"
> + CONNECTION_FAILED="Connection failed; test FAILED"
> + EXPECTED="Login failed as expected; test PASSED"
> + UNEXPECTED="Login succeeded unexpectedly; test FAILED"
> +}
>
> - export RHOST="localhost"
> - export TEST_USER="ftpuser2"
> - export TEST_USER_PASSWD="eal"
> - export TEST_USER_ENCRYPTED_PASSWD="42VmxaOByKwlA"
> - export TEST_USER_HOMEDIR="/home/$TEST_USER"
> -
> - # erase user if he may exist, so we can have a clean env
> - TCtmp="/home/$TEST_USER"
> -
> - tst_setup
> +do_test()
> +{
> + set PASSWD "invaild_password?!!"
>
> - exists expect ftp ftp02_s1 useradd userdel
> + set timeout 90
>
> - userdel $TEST_USER
> - sleep 1
> + expect -c "
> + #ftp to host
> + spawn ftp $RHOST
> + sleep 1
> + # Check if connection succeeded.
> + expect {
> + \"Name\" {}
> + timeout {send_user \"\n$CONNECTION_FAILED\n\";exit 1}
> + }
>
> - if ! useradd -m -p $TEST_USER_ENCRYPTED_PASSWD $TEST_USER; then
> - end_testcase "Could not add test user $TEST_USER to system $RHOST."
> - fi
> + send \"$RUSER\r\"
> + sleep 1
> + expect -re \"Password:\"
> + send \"$PASSWD\r\"
> + sleep 1
>
> - trap do_cleanup EXIT
> + expect {
> + # 530 - Login failed
> + \"530\" {send_user \"$EXPECTED\n\";exit 0}
> + # 230 - Login successful
> + \"230\" {send_user \"$UNEXPECTED\n\"; exit 1}
> + }
>
> + expect \"ftp>\"
> + send \"exit\r\"
> + "
> }
>
> -#-----------------------------------------------------------------------
> -# FUNCTION: do_cleanup
> -#-----------------------------------------------------------------------
> +TCID="$0"
> +TST_TOTAL=1
>
> -do_cleanup()
> -{
> - userdel $TEST_USER
> - tst_cleanup
> -}
> -
> -#-----------------------------------------------------------------------
> -# FUNCTION: MAIN
> -#
> -# DESCRIPTION: Create Test User
> -# Call upon script to make sure test user cannont log in with invalid password
> -# Cleanup Test User from system
> -# Exit with exit code of script called upon
> -#-----------------------------------------------------------------------
> -. net_cmdlib.sh
> +. test.sh
> +. ftp_setup
>
> -read_opts $*
> +setup
> do_setup
> -ftp02_s1 || end_testcase "Testcase failed."
> -end_testcase
> +TST_CLEANUP=do_cleanup
> +
> +do_test
> +ret=$?
> +if [ $ret -ne 0 ]; then
> + tst_resm TFAIL "Test $TCID FAIL"
> +else
> + tst_resm TPASS "Test $TCID PASS"
> +fi
> +
> +tst_exit
> diff --git a/testcases/network/tcp_cmds/ftp/ftp02_s1 b/testcases/network/tcp_cmds/ftp/ftp02_s1
> deleted file mode 100755
> index 18b08da..0000000
> --- a/testcases/network/tcp_cmds/ftp/ftp02_s1
> +++ /dev/null
> @@ -1,71 +0,0 @@
> -#! /usr/bin/expect -f
> -#*********************************************************************
> -# Copyright (c) International Business Machines Corp., 2003, 2005
> -#
> -# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> -#
> -#
> -#
> -# FILE : ftp
> -#
> -# PURPOSE: Test to see if ftp rejects a user with an invalid password
> -#
> -# SETUP: The program `/usr/bin/expect' MUST be installed.
> -#
> -# HISTORY:
> -# 03/04/03 Jerone Young (jeroney@us.ibm.com)
> -# 09/21/05 Kris Wilson (krisw@us.ibm.com) Check for connection failure.
> -# (If WS system, no vsftpd; connection will fail.)
> -
> -set RHOST $env(RHOST)
> -set TEST_USER $env(TEST_USER)
> -set TEST_USER_PASSWD $env(TEST_USER_PASSWD)
> -set TEST_USER_HOMEDIR $env(TEST_USER_HOMEDIR)
> -
> -#RUSER
> -set RUSER $TEST_USER
> -
> -#set PASSWD to be an invalid Password
> -set PASSWD "invaild_password?!!"
> -
> -set timeout 90
> -
> -#ftp to host
> -spawn ftp $RHOST
> -sleep 1
> -# Check if connection succeeded.
> -expect {
> - "Name" {}
> - timeout {send_user "\nConnection failed; test FAILED\n";exit 1}
> -}
> -
> -send "$RUSER\r"
> -sleep 1
> -expect -re "Password:"
> -send "$PASSWD\r"
> -sleep 1
> -
> -expect {
> - # 530 - Login failed
> - "530" {send_user "Login failed as expected; test PASSED\n"}
> - # 230 - Login successful
> - "230" {send_user "Login succeeded unexpectedly; test FAILED\n"; exit 1}
> -}
> -
> -expect "ftp>"
> -send "exit\r"
> -
> -send_user "\nTest Successful\n\n"
> -exit 0
> diff --git a/testcases/network/tcp_cmds/ftp/ftp03 b/testcases/network/tcp_cmds/ftp/ftp03
> index a99a1a0..13e5273 100755
> --- a/testcases/network/tcp_cmds/ftp/ftp03
> +++ b/testcases/network/tcp_cmds/ftp/ftp03
> @@ -31,130 +31,77 @@
> # This version is intended for EAL certification, it will need modification
> # to conform with LTP standards in the offical LTP tree.
>
> -#-----------------------------------------------------------------------
> -# FUNCTION: do_setup
> -#-----------------------------------------------------------------------
> -
> -do_setup()
> +setup()
> {
> -
> - RHOST="localhost"
> - TEST_USER="ftpuser1"
> - TCtmp=/home/$TEST_USER
> - TEST_USER_PASSWD="eal"
> - TEST_USER_ENCRYPTED_PASSWD="42VmxaOByKwlA"
> - TEST_USER_HOMEDIR="/home/$TEST_USER"
> - VSFTP_CONF=
> -
> - tst_setup
> -
> - exists ftp useradd userdel vftpd
> -
> - for vsftp_conf in /etc/vsftpd /etc; do
> -
> - if [ -r "$vsftp_confdir/vsftp.conf" ]; then
> - VSFTP_CONF="$vsftp_confdir/vsftp.conf"
> - break
> - fi
> -
> - done
> - if [ ! -r "$VSFTP_CONF" ] ; then
> - end_testcase "vsftpd.conf not found."
> - fi
> - LOCAL_ENABLE=$(awk -F= '/^local_enable=/ {print $2}' "$VSFTP_CONF")
> -
> - [ "$LOCAL_ENABLE" != "YES" ] && LOCAL_ENABLE="NO"
> -
> - userdel $TEST_USER
> - sleep 1
> -
> - if ! useradd -m -p $TEST_USER_ENCRYPTED_PASSWD $TEST_USER; then
> - end_testcase "Could not add test user $TEST_USER on system $RHOST."
> - fi
> -
> - trap do_cleanup QUIT
> -
> - # create users home diretory (SLES 8 does not do this, even when specified
> - # in adduser)
> - USER_UID=$(id -u $TEST_USER)
> - USER_GID=$(id -g $TEST_USER)
> - mkdir -p "$TEST_USER_HOMEDIR"
> - chown -R $USER_UID:$USER_GID $TEST_USER_HOMEDIR
> -
> + exists ftp useradd userdel vsftpd
> + export TEST_USER="ftpuser3"
> + FAIL_530="==> TEST : FAIL (ftp rejected login attempt)"
> + PASS_230="==> TEST : PASS (ftp allowed login attempt)"
> + FAIL_230="==> TEST : FAIL (ftp allowed login attempt)"
> + PASS_500="==> TEST : PASS (ftp rejected login attempt)"
> + PASS_530="==> TEST : PASS (ftp rejected login attempt)"
> }
>
> -#-----------------------------------------------------------------------
> -# FUNCTION: do_cleanup
> -#-----------------------------------------------------------------------
> -
> -do_cleanup()
> +do_test()
> {
> - userdel $TEST_USER
> - tst_cleanup
> -}
> -
> -#-----------------------------------------------------------------------
> -# FUNCTION: do_test
> -#
> -# DESCRIPTION: The test user will ftp in and create a directory in his home directory on the remote host.
> -# The directory is then checked on the remote hosts to see if it is owned
> -# by the test user.
> -#-----------------------------------------------------------------------
> -
> -do_test(){
> - tst_resm TINFO "TEST: Ftp into a remote host as a local user (other than root), LOCAL_ENABLE=$LOCAL_ENABLE"
> + echo "TEST: Ftp into a remote host as a local user (other than root),"
> + echo "LOCAL_ENABLE=$LOCAL_ENABLE"
>
> - if [ "$LOCAL_ENABLE" = "YES" ]; then
> + if [ "$LOCAL_ENABLE" = "YES" ]; then
> expect -c "
> - spawn ftp $RHOST
> - sleep 1
> - expect -re \": \"
> - send \"$TEST_USER\r\"
> - expect -re \"Password:\"
> - send \"$TEST_USER_PASSWD\r\"
> - expect {
> - # 530 - Login failed
> - \"530\" {send_user \"==> TEST \#$TEST : FAIL (ftp rejected login attempt)\n\";exit 1}
> - # 230 - Login successful
> - \"230\" {send_user \"==> TEST \#$TEST : PASS (ftp allowed login attempt)\n\";exit 0}
> - }
> - expect \"ftp> \"
> - send \"quit\r\"
> + spawn ftp $RHOST
> + sleep 1
> + expect -re \": \"
> + send \"$TEST_USER\r\"
> + expect -re \"Password:\"
> + send \"$TEST_USER_PASSWD\r\"
> + expect {
> + # 530 - Login failed
> + \"530\" {send_user \"$FAIL_530\n\";exit 1}
> + # 230 - Login successful
> + \"230\" {send_user \"$PASS_230\n\";exit 0}
> + }
> + expect \"ftp> \"
> + send \"quit\r\"
> "
> - else
> - expect -c "
> - spawn ftp $RHOST
> - sleep 1
> - expect -re \": \"
> - send \"$TEST_USER\r\"
> - expect -re \"Password:\"
> - send \"$TEST_USER_PASSWD\r\"
> - expect {
> - # 230 - Login successful
> - \"230\" {send_user \"==> TEST \#$TEST : FAIL (ftp allowed login attempt)\n\";exit 1}
> - # 500 - Login failed
> - \"500\" {send_user \"==> TEST \#$TEST : PASS (ftp rejected login attempt)\n\";exit 0}
> - # 530 - Login failed
> - \"530\" {send_user \"==> TEST \#$TEST : PASS (ftp rejected login attempt)\n\";exit 0}
> - }
> - expect \"ftp> \"
> - send \"quit\r\"
> - "
> - fi
> -
> - if [ $? != 0 ]; then
> - end_testcase "Testcase failed"
> - fi
> + else
> + expect -c "
> + spawn ftp $RHOST
> + sleep 1
> + expect -re \": \"
> + send \"$TEST_USER\r\"
> + expect -re \"Password:\"
> + send \"$TEST_USER_PASSWD\r\"
> + expect {
> + # 230 - Login successful
> + \"230\" {send_user \"$FAIL_230\n\";exit 1}
> + # 500 - Login failed
> + \"500\" {send_user \"$PASS_500\n\";exit 0}
> + # 530 - Login failed
> + \"530\" {send_user \"$PASS_530\n\";exit 0}
> + }
> + expect \"ftp> \"
> + send \"quit\r\"
> + "
> + fi
> }
>
> -#----------------------------------------------------------------------
> -# FUNCTION: MAIN
> -# PURPOSE: To invoke the functions to perform the tasks described in
> -# the prologue.
> -#----------------------------------------------------------------------
> -. net_cmdlib.sh
> +TCID="$0"
> +TST_TOTAL=1
>
> -read_opts $*
> +. test.sh
> +. ftp_setup
> +
> +setup
> do_setup
> +TST_CLEANUP=do_cleanup
> +
> do_test
> -end_testcase
> +ret=$?
> +if [ $ret -ne 0 ]; then
I would use "$?" inside if, don't need "ret" variable here and in other
places as well.
> + tst_resm TFAIL "Test $TCID FAIL"
> +else
> + tst_resm TPASS "Test $TCID PASS"
> +fi
> +
> +tst_exit
> diff --git a/testcases/network/tcp_cmds/ftp/ftp04 b/testcases/network/tcp_cmds/ftp/ftp04
> index 8329eb0..c13614d 100755
> --- a/testcases/network/tcp_cmds/ftp/ftp04
> +++ b/testcases/network/tcp_cmds/ftp/ftp04
> @@ -28,77 +28,66 @@
> # 03/04/03 Jerone Young (jeroney@us.ibm.com)
> # 09/21/05 Kris Wilson (krisw@us.ibm.com) Check if vsftpd is on system.
>
> -#-----------------------------------------------------------------------
> -# FUNCTION: do_setup
> -#-----------------------------------------------------------------------
> -
> -do_setup()
> +setup()
> {
> + exists awk expect ftp vsftpd
>
Use tst_check_cmd()
> - tvar=${MACHTYPE%-*}
> - tvar=${tvar#*-}
> -
> - RHOST=localhost
> - TEST_USER=root
> -
> - tst_setup
> + TEST_USER=root
>
> - if [ -n "$PASSWD" ]; then
> - TEST_USER_PASSWORD=$PASSWD
> - else
> - end_testcase "You must set your password via the PASSWD variable."
> - exit 1
> - fi
> + tvar=${MACHTYPE%-*}
> + tvar=${tvar#*-}
>
> - exists awk expect ftp vsftpd
> -
> - if [ $tvar = "redhat" -o $tvar = "redhat-linux" ]; then
> - echo "Verifying test user $TEST_USER is in /etc/vsftpd.ftpusers database..."
> - FTPUSERS=$(awk "/$TEST_USER/" /etc/vsftpd.ftpusers)
> - else
> - echo "Verifying test user $TEST_USER is in /etc/ftpusers database..."
> - FTPUSERS=$(awk "/$TEST_USER/" /etc/ftpusers)
> - fi
> - if [ -z "$FTPUSERS" ] ; then
> - end_testcase "Test user $TEST_USER not found in /etc/ftpusers unable to run TEST, exiting 0 ..."
> - fi
> + if [ $tvar = "redhat" -o $tvar = "redhat-linux" ]; then
> + ftpusers="/etc/vsftpd/ftpusers"
> + else
> + ftpusers="/etc/ftpusers"
> + fi
> + echo "Verifying test user $TEST_USER is in ${ftpusers} database..."
> + FTPUSERS=$(awk "/$TEST_USER/" ${ftpusers})
> + if [ -z "$FTPUSERS" ] ; then
> + tst_brkm TBROK "$TEST_USER not found in $ftpusers exiting 0 ..."
> + fi
>
> + FAIL_230="==> TEST : FAIL (ftp allowed login attempt)"
> + PASS_530="==> TEST : PASS (ftp rejected login attempt)"
> }
>
> -#-----------------------------------------------------------------------
> -# FUNCTION: do_test
> -#-----------------------------------------------------------------------
> do_test()
> {
> -
> - tst_resm TINFO "Ftp should reject $TEST_USER from loging in successfully"
> - expect -c "
> - spawn ftp $RHOST
> - sleep 1
> - expect -re \": \"
> - send \"$TEST_USER\r\"
> - expect -re \"Password:\"
> - send \"$TEST_USER_PASSWD\r\"
> - expect {
> - # 230 - Login successful
> - \"230\" {send_user \"==> TEST \#$TEST : FAIL (ftp allowed login attempt)\n\";exit 1}
> - # 530 - Login failed
> - \"530\" {send_user \"==> TEST \#$TEST : PASS (ftp rejected login attempt)\n\";exit 0}
> - }
> - expect \"ftp> \"
> - send \"quit\r\"
> - "
> -
> - [ $? -eq 0 ] || end_testcase "Testcase failed."
> -
> + echo "Ftp should reject $TEST_USER from loging in successfully"
> + expect -c "
> + spawn ftp $RHOST
> + sleep 1
> + expect -re \": \"
> + send \"$TEST_USER\r\"
> + expect -re \"Password:\"
> + send \"$TEST_USER_PASSWD\r\"
> + expect {
> + # 230 - Login successful
> + \"230\" {send_user \"$FAIL_230\n\";exit 1}
> + # 530 - Login failed
> + \"530\" {send_user \"$PASS_530\n\";exit 0}
> + }
> + expect \"ftp> \"
> + send \"quit\r\"
> + "
> }
>
> -#----------------------------------------------------------------------
> -# FUNCTION: MAIN
> -#----------------------------------------------------------------------
> -. net_cmdlib.sh
> +TCID="$0"
> +TST_TOTAL=1
> +
> +. test.sh
> +. ftp_setup
>
> -read_opts $*
> +setup
> do_setup
> +
> do_test
> -end_testcase
> +ret=$?
> +if [ $ret -ne 0 ]; then
> + tst_resm TFAIL "Test $TCID FAIL"
> +else
> + tst_resm TPASS "Test $TCID PASS"
> +fi
> +
> +tst_exit
> diff --git a/testcases/network/tcp_cmds/ftp/ftp05 b/testcases/network/tcp_cmds/ftp/ftp05
> index 4f91334..746c87a 100755
> --- a/testcases/network/tcp_cmds/ftp/ftp05
> +++ b/testcases/network/tcp_cmds/ftp/ftp05
> @@ -30,96 +30,87 @@
> # NOTE:
> # This version is intended for EAL certification, it will need modification
> # to conform with LTP standards in the offical LTP tree.
> +#
> +# DESCRIPTION:
> +# The anonymous user will ftp in and create a directory in his/her
> +# home directory on the remote host.
> +#
>
> -do_setup()
> +setup()
> {
> - RHOST="localhost"
> - TEST_USER="anonymous"
> - TEST_USER_PASSWD="noone@nowhere.com"
> - VSFTP_CONF=
> -
> - tst_setup
> -
> - exists expect ftp vsftpd
> -
> - for vsftp_conf in /etc/vsftpd /etc; do
> -
> - if [ -r "$vsftp_confdir/vsftp.conf" ]; then
> - VSFTP_CONF="$vsftp_confdir/vsftp.conf"
> - break
> - fi
> -
> - done
> - if [ ! -r "$VSFTP_CONF" ] ; then
> - end_testcase "vsftpd.conf not found."
> - fi
> - ANONYMOUS_ENABLE=$(awk -F= '/^anonymous_enable=/ {print $2}' "$VSFTP_CONF")
> - if [ "$ANONYMOUS_ENABLE" != "NO" ]; then
> - ANONYMOUS_ENABLE="YES"
> - fi
> + exists expect ftp vsftpd
> + TEST_USER="anonymous"
> + FAIL_530="==> TEST : FAIL (ftp rejected login attempt)"
> + PASS_230="==> TEST : PASS (ftp allowed login attempt)"
> + FAIL_230="==> TEST : FAIL (ftp allowed login attempt)"
> + PASS_500="==> TEST : PASS (ftp rejected login attempt)"
> + PASS_530="==> TEST : PASS (ftp rejected login attempt)"
> }
>
> -#-----------------------------------------------------------------------
> -# FUNCTION : do_test
> -#
> -# DESCRIPTION: The anonymous user will ftp in and create a directory in his/her
> -# home directory on the remote host.
> -#-----------------------------------------------------------------------
> -
> do_test()
> {
> - tst_resm TINFO "Ftp into a remote host as anonymous user; ANONYMOUS_ENABLE=$ANONYMOUS_ENABLE"
> + echo "Ftp into a remote host as anonymous user;"
> + echo "ANONYMOUS_ENABLE=$ANONYMOUS_ENABLE"
>
> - if [ "$ANONYMOUS_ENABLE" = "YES" ]; then
> - expect -c "
> - spawn ftp $RHOST
> - sleep 1
> - expect -re \": \"
> - send \"$TEST_USER\r\"
> - expect -re \"Password:\"
> - send \"$TEST_USER_PASSWD\r\"
> - expect {
> - # 530 - Login failed
> - \"530\" {send_user \"==> TEST \#$TEST : FAIL (ftp rejected login attempt)\n\";exit 1}
> - # 230 - Login successful
> - \"230\" {send_user \"==> TEST \#$TEST : PASS (ftp allowed login attempt)\n\";exit 0}
> - }
> - expect \"ftp> \"
> - send \"quit\r\"
> + if [ "$ANONYMOUS_ENABLE" = "YES" ]; then
> + expect -c "
> + spawn ftp $RHOST
> + sleep 1
> + expect -re \": \"
> + send \"$TEST_USER\r\"
> + expect -re \"Password:\"
> + send \"$TEST_USER_PASSWD\r\"
> + expect {
> + # 530 - Login failed
> + \"530\" {send_user \"$FAIL_530\n\";exit 1}
> + # 230 - Login successful
> + \"230\" {send_user \"$PASS_230\n\";exit 0}
> + }
> + expect \"ftp> \"
> + send \"quit\r\"
> "
> - else
> - expect -c "
> - spawn ftp $RHOST
> - sleep 1
> - expect -re \": \"
> - send \"$TEST_USER\r\"
> - expect -re \"Password:\"
> - send \"$TEST_USER_PASSWD\r\"
> - expect {
> - # 230 - Login successful
> - \"230\" {send_user \"==> TEST \#$TEST : FAIL (ftp allowed login attempt)\n\";exit 1}
> - # 500 - Login failed
> - \"500\" {send_user \"==> TEST \#$TEST : PASS (ftp rejected login attempt)\n\";exit 0}
> - # 530 - Login failed
> - \"530\" {send_user \"==> TEST \#$TEST : PASS (ftp rejected login attempt)\n\";exit 0}
> - }
> - expect \"ftp> \"
> - send \"quit\r\"
> - "
> - fi
> -
> - [ $? -eq 0 ] || end_testcase "Testcase failed."
> + else
> + expect -c "
> + spawn ftp $RHOST
> + sleep 1
> + expect -re \": \"
> + send \"$TEST_USER\r\"
> + expect -re \"Password:\"
> + send \"$TEST_USER_PASSWD\r\"
> + expect {
> + # 230 - Login successful
> + \"230\" {send_user \"$FAIL_230\n\";exit 1}
> + # 500 - Login failed
> + \"500\" {send_user \"$PASS_500\n\";exit 0}
> + # 530 - Login failed
> + \"530\" {send_user \"$PASS_530\n\";exit 0}
> + }
> + expect \"ftp> \"
> + send \"quit\r\"
> + "
> + fi
>
> + if [ $? -ne 0 ]; then
> + tst_exit TBROK "Testcase failed."
There is tst_brkm library function for that purpose, it includes tst_exit.
> + fi
> }
>
> -#----------------------------------------------------------------------
> -# FUNCTION: MAIN
> -# PURPOSE: To invoke the functions to perform the tasks described in
> -# the prologue.
> -#----------------------------------------------------------------------
> -. net_cmdlib.sh
> +TCID="$0"
> +TST_TOTAL=1
>
> -read_opts $*
> +. test.sh
> +. ftp_setup
> +
> +setup
> do_setup
> +#TEST_USER_PASSWD="noone@nowhere.com"
> +
> do_test
> -end_testcase
> +ret=$?
> +if [ $ret -ne 0 ]; then
> + tst_resm TFAIL "Test $TCID FAIL"
> +else
> + tst_resm TPASS "Test $TCID PASS"
> +fi
> +
> +tst_exit
> diff --git a/testcases/network/tcp_cmds/ftp/ftp_set_passwd b/testcases/network/tcp_cmds/ftp/ftp_set_passwd
> deleted file mode 100755
> index 7c275c9..0000000
> --- a/testcases/network/tcp_cmds/ftp/ftp_set_passwd
> +++ /dev/null
> @@ -1,28 +0,0 @@
> -#!/usr/bin/expect
> -#
> -# Set Password for a specific new user
> -# This script should be run as 'root'
> -#
> -# Example:
> -# ./set_passwd USER PASSWD
> -#
> -
> -if { [llength $argv] < 2} {
> - exit 1
> -}
> -
> -set USER [lindex $argv 0]
> -set PASSWD [lindex $argv 1]
> -
> -set timeout 30
> -
> -spawn passwd $USER
> -expect "Enter new password: "
> -sleep 1
> -exp_send "$PASSWD\r"
> -expect "Re-type new password: "
> -sleep 1
> -exp_send "$PASSWD\r"
> -expect success
> -
> -exit 0
> diff --git a/testcases/network/tcp_cmds/ftp/ftp_setup b/testcases/network/tcp_cmds/ftp/ftp_setup
> new file mode 100644
> index 0000000..7100736
> --- /dev/null
> +++ b/testcases/network/tcp_cmds/ftp/ftp_setup
> @@ -0,0 +1,82 @@
> +#!/bin/sh
> +###############################################################################
> +## Copyright (c) International Business Machines Corp., 2003 ##
> +## ##
> +## 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ##
> +## ##
> +###############################################################################
> +
> +exists()
> +{
> + for cmd in $*; do
> + if ! command -v $cmd > /dev/null 2>&1; then
> + tst_brkm TBROK "$cmd: command not found"
> + fi
> + done
> +}
tst_check_cmd() replaces it.
> +
> +do_setup()
> +{
> +
> + export RHOST="localhost"
> + export TEST_USER_PASSWD="eal"
> + export TEST_USER_ENCRYPTED_PASSWD="42VmxaOByKwlA"
> + export TEST_USER_HOMEDIR="/home/$TEST_USER"
> +
> + for vsftp_confdir in /etc/vsftpd /etc; do
> + if [ -r "$vsftp_confdir/vsftpd.conf" ]; then
> + VSFTP_CONF="$vsftp_confdir/vsftpd.conf"
> + break
> + fi
> + done
> + if [ ! -r "$VSFTP_CONF" ] ; then
> + tst_brkm TBROK "vsftpd.conf not found."
> + fi
> +
> + LOCAL_ENABLE=$(awk -F= '/^local_enable=/ {print $2}' "$VSFTP_CONF")
> + if [ "$LOCAL_ENABLE" != "YES" ]; then
> + LOCAL_ENABLE="NO"
> + fi
> +
> + ANONYMOUS_ENABLE=$(awk -F= '/^anonymous_enable=/ {print $2}' "$VSFTP_CONF")
> + if [ "$ANONYMOUS_ENABLE" != "NO" ]; then
> + ANONYMOUS_ENABLE="YES"
> + fi
> +
> + if [ $TEST_USER = "root" -o $TEST_USER = "anonymous" ]; then
> + return
> + fi
> +
> + userdel -r $TEST_USER
> + sleep 1
> +
> + if ! useradd -m -p $TEST_USER_ENCRYPTED_PASSWD $TEST_USER; then
> + tst_brkm TBROK "Could not add test user $TEST_USER to system $RHOST."
> + fi
> +
> + # create users home diretory (SLES 8 does not do this, even when specified
> + # in adduser)
> + USER_UID=$(id -u $TEST_USER)
> + USER_GID=$(id -g $TEST_USER)
> + mkdir -p "$TEST_USER_HOMEDIR"
> + chown -R $USER_UID:$USER_GID $TEST_USER_HOMEDIR
> +}
> +
> +do_cleanup()
> +{
> + if [ $TEST_USER != "root" -a $TEST_USER != "anonymous" ]; then
> + userdel -r $TEST_USER
> + fi
> +}
> diff --git a/testcases/network/tcp_cmds/ftp/ftp_setup_vsftp_conf b/testcases/network/tcp_cmds/ftp/ftp_setup_vsftp_conf
> deleted file mode 100755
> index 7e496f6..0000000
> --- a/testcases/network/tcp_cmds/ftp/ftp_setup_vsftp_conf
> +++ /dev/null
> @@ -1,5 +0,0 @@
> -#!/bin/sh
> -
> -grep -v "local_enable" /etc/vsftpd.conf > /tmp/vsftpd.conf
> -mv -f /tmp/vsftpd.conf /etc/vsftpd.conf
> -echo "local_enable=YES" >> /etc/vsftpd.conf
Also, the same comments apply to the 2nd ssh patch.
Thanks,
Alexey
------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls.
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
next prev parent reply other threads:[~2014-07-31 11:55 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-29 11:42 [LTP] [PATCH 1/2] network ftp: some cleanup Zeng Linggang
2014-07-29 11:42 ` [LTP] [PATCH 2/2] network ssh: " Zeng Linggang
2014-07-31 11:55 ` Alexey [this message]
2014-08-01 1:25 ` [LTP] [PATCH 1/2] network ftp: " Zeng Linggang
2014-08-01 3:11 ` [LTP] [PATCH v2 " Zeng Linggang
2014-08-01 13:23 ` Alexey Kodanev
2014-09-25 10:56 ` Alexey Kodanev
2014-08-01 3:12 ` [LTP] [PATCH v2 2/2] network ssh: " Zeng Linggang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53DA2E9A.5030902@oracle.com \
--to=alexey.kodanev@oracle.com \
--cc=ltp-list@lists.sourceforge.net \
--cc=zenglg.jy@cn.fujitsu.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.