[LTP] [PATCH 1/1] commands: Remove outdated mail tests

Cyril Hrubis chrubis@suse.cz
Tue Apr 10 10:50:57 CEST 2018


I would add here to the summary that testing mail command is out of
scope for LTP, but apart from that I do agree with removing these.

> ---
>  testcases/commands/mail/00_Descriptions.txt |  14 --
>  testcases/commands/mail/Makefile            |  31 ---
>  testcases/commands/mail/mail_tests.sh       | 378 ----------------------------
>  3 files changed, 423 deletions(-)
>  delete mode 100644 testcases/commands/mail/00_Descriptions.txt
>  delete mode 100644 testcases/commands/mail/Makefile
>  delete mode 100755 testcases/commands/mail/mail_tests.sh

You have forgotten to remove the runtest entry in runtest/commands.

> diff --git a/testcases/commands/mail/00_Descriptions.txt b/testcases/commands/mail/00_Descriptions.txt
> deleted file mode 100644
> index 3e25e45d5..000000000
> --- a/testcases/commands/mail/00_Descriptions.txt
> +++ /dev/null
> @@ -1,14 +0,0 @@
> -mail01
> -	Test that mail user@domain will send a mail to that user at that domain.
> -
> -mail02
> -	Test that mail user@bad-domain will result in a warning from the mailer daemon that the domain does not exist.
> -
> -mail03
> -	Test that mail non_existent_user@localhost will result in delivery failure.  Mailer-Daemon will report this failure.
> -
> -mail04
> -	Test that mail -c user@domain option will carbon copy that user.
> -
> -mail05
> -	Test that mail -b user@domain option will blind carbon copy that user.
> diff --git a/testcases/commands/mail/Makefile b/testcases/commands/mail/Makefile
> deleted file mode 100644
> index 650790cbf..000000000
> --- a/testcases/commands/mail/Makefile
> +++ /dev/null
> @@ -1,31 +0,0 @@
> -#
> -#    commands/mail testcases Makefile.
> -#
> -#    Copyright (C) 2009, Cisco Systems Inc.
> -#
> -#    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.
> -#
> -# Ngie Cooper, July 2009
> -#
> -
> -top_srcdir		?= ../../..
> -
> -include $(top_srcdir)/include/mk/env_pre.mk
> -
> -INSTALL_TARGETS		:= mail_tests.sh
> -
> -MAKE_TARGETS		:=
> -
> -include $(top_srcdir)/include/mk/generic_leaf_target.mk
> diff --git a/testcases/commands/mail/mail_tests.sh b/testcases/commands/mail/mail_tests.sh
> deleted file mode 100755
> index 7cd55314b..000000000
> --- a/testcases/commands/mail/mail_tests.sh
> +++ /dev/null
> @@ -1,378 +0,0 @@
> -#!/bin/sh
> -################################################################################
> -##										##
> -## Copyright (c) International Business Machines  Corp., 2001			##
> -##										##
> -## 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 :		mail_tests.sh
> -#
> -# Description:  Tests basic functions of mail system. The aim of the test is to
> -#		make sure that certain basic functionality of mail is expected
> -#		to work as per man page. There are 4 - 5 operations that are
> -#		done on a regular basis wrt mail. ie.
> -#
> -#		   mail sent to an user@domain - received by that user@domain
> -#		   mail is sent to nosuchuser@domain - mail delivery failure
> -#		   mail is sent to user@nosuchdomain - mail delivery failure
> -#		   mail to user1@domain and cc user2@domain - mail rec by both
> -#		   mail to user1@domain and bcc user2@domain - mail rec by both
> -#
> -# Author:	  Manoj Iyer, manjo@mail.utexas.edu
> -#
> -# History:	  Jan 07 2003 - Created - Manoj Iyer.
> -#		  Jan 09 2003 - Added Test #2 #3 #4 and #5.
> -#		  Jan 10 2002 - Fixed various bugs I had introduced in the test.
> -#			      - Added SETUP and CLEANUP sections
> -#
> -
> -export TST_TOTAL=5
> -
> -LTPTMP=${TMPBASE:-/tmp}
> -
> -if [ -z "$LTPBIN" -a -z "$LTPROOT" ]; then
> -	LTPBIN=./
> -else
> -	LTPBIN=$LTPROOT/testcases/bin
> -fi
> -
> -isHeirloomMail=0
> -checkHeirloomMail()
> -{
> -	if [ $# -eq 1 -a -f $1 ] && grep "Heirloom" $1; then
> -		isHeirloomMail=1
> -	fi
> -}
> -
> -RC=0
> -export TCID=mail_tests::setup
> -export TST_COUNT=1
> -
> -if ! type mail > /dev/null 2>&1; then
> -	tst_resm TCONF "mail isn't installed"
> -	exit 0
> -fi
> -
> -cat > $LTPTMP/tst_mail.in <<EOF
> -This is a test email.
> -EOF
> -
> -if [ $? -ne 0 ] ; then
> -	tst_resm TBROK "couldn't create a temporary message"
> -fi
> -
> -# check if the user mail_test exists on this system.
> -# if not add that user mail_test, will removed before exiting test.
> -if id -u mail_test >/dev/null 2>&1; then
> -	tst_resm TINFO "INIT: Adding temporary user mail_test"
> -	useradd -m -s /sbin/nologin mail_test > $LTPTMP/tst_mail.out 2>&1
> -	if [ $? -ne 0 ]; then
> -		tst_brk TBROK $LTPTMP/tst_mail.out NULL \
> -			"Test INIT: Failed adding user mail_test. Reason:"
> -		exit 1
> -	fi
> -fi
> -
> -trap
> -
> -tst_resm TINFO "INIT: Removing all mails for mail_test and root"
> -echo "d*" | mail -u mail_test > /dev/null 2>&1
> -echo "d*" | mail -u root > /dev/null 2>&1
> -
> -# Set return code RC variable to 0, it will be set with a non-zero return code
> -# in case of error. Set TFAILCNT to 0, increment if there occures a failure.
> -
> -TFAILCNT=0
> -RC=0
> -RC1=0
> -RC2=0
> -
> -# Test #1
> -# Test that mail user@domain will send a mail to that user at that domain.
> -
> -export TCID=mail_tests::mail01
> -export TST_COUNT=1
> -
> -tst_resm TINFO "Test #1: mail root@localhost will send mail to root"
> -tst_resm TINFO "Test #1: user on local machine."
> -
> -mail -s "Test" root@localhost < $LTPTMP/tst_mail.in \
> -	> $LTPTMP/tst_mail.out 2>&1
> -if [ $? -ne 0 ]; then
> -	tst_res TFAIL $LTPTMP/tst_mail.out \
> -	    "Test #1: mail command failed. Reason: "
> -	: $(( TFAILCNT += 1 ))
> -else
> -	# check if root received a new email with Test as subject
> -	# but wait for the mail to arrive.
> -
> -	sleep 10
> -	echo "d" | mail -u root > $LTPTMP/tst_mail.res 2>&1
> -	mailsub=$(awk '/^>N/ {print match($9, "Test")}' $LTPTMP/tst_mail.res)
> -	if [ "x$mailsub" != x0 ]; then
> -		tst_resm TPASS \
> -		    "Test #1: Mail was sent to root & was received"
> -	else
> -		tst_res TFAIL $LTPTMP/tst_mail.res \
> -		    "Test #1: Mail sent to root, but was not received"
> -		: $(( TFAILCNT += 1 ))
> -	fi
> -
> -fi
> -
> -# Test #2
> -# Test that mail user@bad-domain will result in a warning from the mailer
> -# daemon that the domain does not exist.
> -
> -export TCID=mail_tests::mail02
> -export TST_COUNT=2
> -RC1=0
> -RC2=0
> -RC3=0
> -RC4=0
> -
> -tst_resm TINFO "Test #2: mail user@bad-domain will result in failure"
> -tst_resm TINFO "Test #2: to deliver the mail. Mailer daemon should"
> -tst_resm TINFO "Test #2: report this failure."
> -
> -tvar=${MACHTYPE%-*}
> -tvar=${tvar#*-}
> -
> -# Don't use underscores in domain names (they're illegal)...
> -mail -s "Test" root@thisdomaindoesnotexist < $LTPTMP/tst_mail.in \
> -	> $LTPTMP/tst_mail.out 2>&1
> -if [ $? -ne 0 ]; then
> -	tst_res TFAIL $LTPTMP/tst_mail.out \
> -	    "Test #2: mail command failed. Reason:"
> -	: $(( TFAILCNT += 1 ))
> -else
> -	# check if Mailer-Deamon reported any delivery failure.
> -	# but wait for the mail to arrive first, sleep 5.
> -	sleep 5
> -	echo "d" | mail -u root > $LTPTMP/tst_mail.res 2>&1
> -	checkHeirloomMail $LTPTMP/tst_mail.res
> -	if [ $isHeirloomMail -eq 0 ]; then
> -		RC1=$(awk '/^>N/ {IGNORECASE=1; print match($3, "Mailer-Daemon")}' \
> -		    $LTPTMP/tst_mail.res)
> -	else
> -		RC1=$(awk '/^>N/ {IGNORECASE=1; print match($3 $4 $5,
> -		    "MailDelivery(Subsys|System|Syst)")}' $LTPTMP/tst_mail.res)
> -	fi
> -
> -	##################################################################
> -	# In this testcase, mail will get "Returnedmail:", while mailx will
> -	# get "UndeliveredMailReturned:".
> -	# Either of mail and mailx may be linked to another.
> -	# For example,
> -	# /bin/mail -> /bin/mailx
> -	# or
> -	# /bin/mailx -> /bin/mail
> -	##################################################################
> -	if [ $isHeirloomMail -eq 0 ]; then
> -		RC2=$(awk '/^>N/ {print match($9 $10, "Returnedmail:")}' \
> -		    $LTPTMP/tst_mail.res)
> -		RC3=$(awk '/^>N/ {print match($9 $10, "UndeliveredMail")}' \
> -		    $LTPTMP/tst_mail.res)
> -	else
> -		RC2=$(awk '/^>N/ {print match($11 $12, "Returnedmail:")}' \
> -		    $LTPTMP/tst_mail.res)
> -		RC3=$(awk '/^>N/ {print match($11 $12, "UndeliveredMail")}' \
> -		    $LTPTMP/tst_mail.res)
> -	fi
> -	if [ -z "$RC1" -a -z "$RC2" -a -z "$RC3" ]; then
> -		RC4=$(awk '{print match($1 $2 $3, "Nomailfor")}' \
> -        	    $LTPTMP/tst_mail.res)
> -		if [ \( "$tvar" = "redhat" -o "$tvar" = "redhat-linux" \) -a -n "$RC4" ]; then
> -			tst_resm TPASS \
> -				"Test #2: No new mail for root as expected"
> -		else
> -			tst_res TFAIL $LTPTMP/tst_mail.res \
> -			    "Test #2: No new mail for root. Reason:"
> -			: $(( TFAILCNT += 1 ))
> -		fi
> -	else
> -
> -		if [ $RC1 -ne 0 -a $RC2 -ne 0 ] || [ $RC1 -ne 0 -a $RC3 -ne 0 ]; then
> -			tst_resm TPASS \
> -				"Test #2: Mailer-Deamon reported delivery failure"
> -		else
> -			tst_res TFAIL $LTPTMP/tst_mail.res \
> -			"Test #2: Mailer-Deamon failed to report delivery failure. Reason:"
> -			: $(( TFAILCNT += 1 ))
> -		fi
> -
> -	fi
> -
> -
> -fi
> -
> -# Test #3
> -# Test that mail non_existent_user@localhost will result in delivery failure.
> -# Mailer-Deamon will report this failure.
> -
> -export TCID=mail_tests::mail03
> -export TST_COUNT=3
> -RC=0
> -RC1=0
> -RC2=0
> -
> -tst_resm TINFO "Test #3: mail non_existent_user@localhost will fail"
> -tst_resm TINFO "Test #3: to deliver the mail. Mailer daemon should"
> -tst_resm TINFO "Test #3: report this failure."
> -
> -mail -s "Test" non_existent_user@localhost < $LTPTMP/tst_mail.in > \
> -    $LTPTMP/tst_mail.out 2>&1
> -if [ $? -ne 0 ]; then
> -	tst_res TFAIL $LTPTMP/tst_mail.out \
> -	    "Test #3: mail command failed. Reason: "
> -	: $(( TFAILCNT += 1 ))
> -else
> -	# check if Mailer-Deamon reported any delivery failure.
> -	# but wait for the mail to arrive first, sleep 5.
> -	sleep 5
> -	echo "d" | mail -u root > $LTPTMP/tst_mail.res 2>&1
> -	checkHeirloomMail $LTPTMP/tst_mail.res
> -	if [ $isHeirloomMail -eq 0 ]; then
> -		RC1=$(awk '/^>N/ {IGNORECASE=1; print match($3, "Mailer-Daemon")}' \
> -		    $LTPTMP/tst_mail.res)
> -	else
> -		RC1=$(awk '/^>N/ {IGNORECASE=1; print match($3 $4 $5,
> -		    "MailDelivery(Subsys|System|Syst)")}' $LTPTMP/tst_mail.res)
> -	fi
> -	##################################################################
> -	# In this testcase, mail will get "Returnedmail:", while mailx will
> -	# get "UndeliveredMailReturned:".
> -	# Either of mail and mailx may be linked to another.
> -	# For example,
> -	# /bin/mail -> /bin/mailx
> -	# or
> -	# /bin/mailx -> /bin/mail
> -	#################################################################
> -	if [ $isHeirloomMail -eq 0 ]; then
> -		RC2=$(awk '/^>N/ {print match($9 $10, "Returnedmail:")}' \
> -		    $LTPTMP/tst_mail.res)
> -		RC3=$(awk '/^>N/ {print match($9 $10, "UndeliveredMail")}' \
> -		    $LTPTMP/tst_mail.res)
> -	else
> -		RC2=$(awk '/^>N/ {print match($11 $12, "Returnedmail:")}' \
> -		    $LTPTMP/tst_mail.res)
> -		RC3=$(awk '/^>N/ {print match($11 $12, "UndeliveredMail")}' \
> -		    $LTPTMP/tst_mail.res)
> -	fi
> -fi
> -if [ -z "$RC1" -a -z "$RC2" -a -z "$RC3" ]; then
> -
> -	tst_res TFAIL $LTPTMP/tst_mail.res \
> -	    "Test #3: No new mail for root. Reason:"
> -	: $(( TFAILCNT += 1 ))
> -
> -else
> -	if [ $RC1 -ne 0 -a $RC2 -ne 0 ] || [ $RC1 -ne 0 -a $RC3 -ne 0 ]; then
> -		tst_resm TPASS \
> -		    "Test #3: Mailer-Daemon reported delivery failure"
> -	else
> -		tst_res TFAIL $LTPTMP/tst_mail.res \
> -		    "Test #3: Mailer-Daemon failed to report delivery failure. Reason:"
> -		: $(( TFAILCNT += 1 ))
> -	fi
> -fi
> -
> -# Test #4
> -# Test that mail -c user@domain option will carbon copy that user.
> -
> -export TCID=mail_tests::mail04
> -export TST_COUNT=4
> -RC=0
> -
> -tst_resm TINFO "Test #4: Test that mail -c user@domain will"
> -tst_resm TINFO "Test #4: carbon copy user@domain"
> -# send mail to root and carbon copy mail_test
> -mail -s "Test" root@localhost -c mail_test@localhost < \
> -    $LTPTMP/tst_mail.in > $LTPTMP/tst_mail.out 2>&1
> -if [ $? -ne 0 ]; then
> -	tst_res TFAIL $LTPTMP/tst_mail.out \
> -	    "Test #4: mail command failed. Reason:"
> -	: $(( TFAILCNT += 1 ))
> -else
> -	# Check if mail_test received the mail and
> -	# also if root received the main copy of the email.
> -	sleep 5
> -	echo "d" | mail -u root > $LTPTMP/tst_mail.res 2>&1
> -	RC1=$(awk '/^>N/ {print match($9, "Test")}' $LTPTMP/tst_mail.res)
> -	echo "d" | mail -u mail_test > $LTPTMP/tst_mail.res 2>&1
> -	RC2=$(awk '/^>N/ {print match($9, "Test")}' $LTPTMP/tst_mail.res)
> -
> -	if [ "x$RC1" != x0 -a "x$RC2" != x0 ]; then
> -		tst_resm TPASS \
> -		    "Test #4: Mail was carbon copied to user mail_test"
> -	else
> -		tst_res TFAIL $LTPTMP/tst_mail.res \
> -		    "Test #4: mail failed to carbon copy user mail_test. Reason:"
> -		: $(( TFAILCNT += 1 ))
> -	fi
> -
> -fi
> -
> -# Test #5
> -# Test that mail -b user@domain option will blind carbon copy that user.
> -
> -export TCID=mail_tests::mail05
> -export TST_COUNT=5
> -RC=0
> -
> -tst_resm TINFO "Test #5: Test that mail -b user@domain will"
> -tst_resm TINFO "Test #5: blind carbon copy user@domain"
> -
> -# send mail to root and blind carbon copy mail_test
> -mail -s "Test" root@localhost -c mail_test@localhost < \
> -	$LTPTMP/tst_mail.in > $LTPTMP/tst_mail.out 2>&1
> -if [ $? -ne 0 ]; then
> -	tst_res TFAIL $LTPTMP/tst_mail.out \
> -	    "Test #5: mail command failed. Reason:"
> -	: $(( TFAILCNT += 1 ))
> -else
> -	# Check if mail_test received the mail and
> -	# also if root received the main copy of the email.
> -	sleep 5
> -	echo "d" | mail -u root > $LTPTMP/tst_mail.res 2>&1
> -	RC1=$(awk '/^>N/ {print match($9, "Test")}' $LTPTMP/tst_mail.res)
> -	echo "d" | mail -u mail_test > $LTPTMP/tst_mail.res 2>&1
> -	RC2=$(awk '/^>N/ {print match($9, "Test")}' $LTPTMP/tst_mail.res)
> -
> -	if [ "x$RC1" != x0 -a "x$RC2" != x0 ]; then
> -		tst_resm TPASS \
> -		    "Test #5: Mail was carbon copied to user mail_test"
> -	else
> -		tst_res TFAIL $LTPTMP/tst_mail.res \
> -		    "Test #5: mail failed to carbon copy user mail_test. Reason:"
> -		: $(( TFAILCNT += 1 ))
> -	fi
> -
> -fi
> -
> -#CLEANUP & EXIT
> -# remove all the temporary files created by this test.
> -export TCID=mail_tests::cleanup
> -export TST_COUNT=1
> -
> -tst_resm TINFO "Test CLEAN: Removing temporary files from $LTPTMP"
> -rm -fr $LTPTMP/tst_mail*
> -
> -tst_resm TINFO "Test CLEAN: Removing temporary user mail_test"
> -userdel -r mail_test > /dev/null 2>&1
> -
> -exit $TFAILCNT
> -- 
> 2.13.6
> 
> 
> -- 
> Mailing list info: https://lists.linux.it/listinfo/ltp

-- 
Cyril Hrubis
chrubis@suse.cz


More information about the ltp mailing list