Skip to contentSkip to conversation

fix mail_tests for systems without mail installed

LTP Paul Larson 4 participants 4 messages Aug 12, 2009 – Aug 28, 2009

lore
Share & tools
lore
#0 lore raw

mail_tests should return tconf instead of tfail if mail is not installed.

---

testcases/commands/mail/mail_tests.sh +25 -3
index 7458944..a2c6487 100755
@@ -59,6 +59,11 @@ RC=0
 export TCID=SETUP
 export TST_COUNT=1
 
+`which mail`
+if [ $? != 0 ]; then
+    MAIL_NOT_INSTALLED=1
+fi
+
 # check if the user mail_test exists on this system.
 # if not add that user mail_test, will removed before exiting test.
 RC=$(awk '/^mail_test/ {print 1}' /etc/passwd)
@@ -97,6 +102,7 @@ $LTPBIN/tst_resm TINFO "Test #1: mail root@localhost will send mail to root"
 $LTPBIN/tst_resm TINFO "Test #1: user on local machine."
 
 
+if [ -z $MAIL_NOT_INSTALLED ]; then
 cat > $LTPTMP/tst_mail.in <<EOF
 This is a test email.
 EOF
@@ -125,6 +131,9 @@ else
         TFAILCNT=$(( $TFAILCNT+1 ))
     fi
 fi
+else
+    $LTPBIN/tst_resm TCONF "mail command not installed"
+fi
 
 
 # Test #2
@@ -142,6 +151,7 @@ $LTPBIN/tst_resm TINFO \
 $LTPBIN/tst_resm TINFO "Test #2: to deliver the mail. Mailer daemon should"
 $LTPBIN/tst_resm TINFO "Test #2: report this failure."
 
+if [ -z $MAIL_NOT_INSTALLED ]; then
 cat > $LTPTMP/tst_mail.in <<EOF
 This is a test email.
 EOF
@@ -193,7 +203,9 @@ fi
         fi
     fi
 fi
-    
+else
+    $LTPBIN/tst_resm TCONF "mail command not installed"
+fi    
 
 # Test #3
 # Test that mail non_existant_user@localhost will result in delivery failure.
@@ -210,6 +222,7 @@ $LTPBIN/tst_resm TINFO \
 $LTPBIN/tst_resm TINFO "Test #3: to deliver the mail. Mailer daemon should"
 $LTPBIN/tst_resm TINFO "Test #3: report this failure."
 
+if [ -z $MAIL_NOT_INSTALLED ]; then
 cat > $LTPTMP/tst_mail.in <<EOF
 This is a test email.
 EOF
@@ -260,6 +273,9 @@ fi
         fi
     fi
 fi
+else
+    $LTPBIN/tst_resm TCONF "mail command not installed"
+fi
 
 # Test #4 
 # Test that mail -c user@domain option will carbon copy that user.
@@ -270,6 +286,7 @@ RC=0
 
 $LTPBIN/tst_resm TINFO "Test #4: Test that mail -c user@domain will"
 $LTPBIN/tst_resm TINFO "Test #4: carbon copy user@domain"
+if [ -z $MAIL_NOT_INSTALLED ]; then
 
 # send mail to root and carbon copy mail_test 
 mail -s "Test" root@localhost -c mail_test@localhost < \
@@ -297,7 +314,9 @@ else
         TFAILCNT=$(( $TFAILCNT+1 ))
     fi
 fi
-
+else
+    $LTPBIN/tst_resm TCONF "mail command not installed"
+fi
 
 # Test #5 
 # Test that mail -b user@domain option will blind carbon copy that user.
@@ -308,6 +327,7 @@ RC=0
 
 $LTPBIN/tst_resm TINFO "Test #5: Test that mail -b user@domain will"
 $LTPBIN/tst_resm TINFO "Test #5: blind carbon copy user@domain"
+if [ -z $MAIL_NOT_INSTALLED ]; then
 
 # send mail to root and carbon copy mail_test 
 mail -s "Test" root@localhost -c mail_test@localhost < \
@@ -335,7 +355,9 @@ else
         TFAILCNT=$(( $TFAILCNT+1 ))
     fi
 fi
-    
+else
+    $LTPBIN/tst_resm TCONF "mail command not installed"
+fi
 
 #CLEANUP & EXIT
 # remove all the temporary files created by this test.

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july

_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#1 lore raw
Quoted 2 lines · On Wednesday 12 August 2009 17:14:09 Paul Larson wrote:

+which mail
+if [ $? != 0 ]; then

this results in pretty ugly output, and the return value/output of which is not portable. use the type builtin instead.

Quoted 1 line

+ MAIL_NOT_INSTALLED=1

you should make sure this is always set/unset at the top of the script so parent environment poisoning wont screw things up.

Quoted 1 line

+if [ -z $MAIL_NOT_INSTALLED ]; then

tests must always be quoted:
[ -z "$foo" ]
-mike

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july

_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#2 lore raw
Quoted 9 lines · Mike Frysinger
Quoted 2 lines · On Wednesday 12 August 2009 17:14:09 Paul Larson wrote:

+which mail
+if [ $? != 0 ]; then

this results in pretty ugly output, and the return value/output of which is not portable. use the type builtin instead.

Quoted 1 line

+ MAIL_NOT_INSTALLED=1

Quoted 7 lines

you should make sure this is always set/unset at the top of the script so parent environment poisoning wont screw things up.

Quoted 1 line

+if [ -z $MAIL_NOT_INSTALLED ]; then

tests must always be quoted:
[ -z "$foo" ]

Worse, as $MAIL_NOT_INSTALLED is always "0" or "1", -z always return false...

From 8035091c4232e8d6c7b3a75d612bc82c1ad84365 Mon Sep 17 00:00:00 2001
From: Geert Uytterhoeven <[email protected]>
Date: Thu, 27 Aug 2009 14:11:58 +0200
Subject: [PATCH] Fix mail_tests for systems with mail installed

`-z' tests for a string length of zero, not for a zero value, causing the test always to return false.
Initialize $MAIL_NOT_INSTALLED to an empty string instead of a numerical zero to fix this.

---
 testcases/commands/mail/mail_tests.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
testcases/commands/mail/mail_tests.sh +1 -1
index 0959a0c..45bac93 100755
@@ -59,7 +59,7 @@ RC=0
 export TCID=SETUP
 export TST_COUNT=1
 
-MAIL_NOT_INSTALLED=0
+MAIL_NOT_INSTALLED=
 `type mail &> /dev/null`
 if [ $? != 0 ]; then
     MAIL_NOT_INSTALLED=1
Signature · 29 lines
1.6.2.4

With kind regards,

Geert Uytterhoeven
Software Architect
Techsoft Centre

Technology and Software Centre Europe
The Corporate Village · Da Vincilaan 7-D1 · B-1935 Zaventem · Belgium

Phone:    +32 (0)2 700 8453
Fax:      +32 (0)2 700 8622
E-mail:   [email protected]
Internet: http://www.sony-europe.com/

A division of Sony Europe (Belgium) N.V.
VAT BE 0413.825.160 · RPR Brussels
Fortis · BIC GEBABEBB · IBAN BE41293037680010

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list
#3 lore raw
Quoted 25 lines · Geert Uytterhoeven
Quoted 9 lines · Mike Frysinger
Quoted 2 lines · On Wednesday 12 August 2009 17:14:09 Paul Larson wrote:

+which mail
+if [ $? != 0 ]; then

this results in pretty ugly output, and the return value/output of which is not portable. use the type builtin instead.

Quoted 1 line

+ MAIL_NOT_INSTALLED=1

Quoted 7 lines

you should make sure this is always set/unset at the top of the script so parent environment poisoning wont screw things up.

Quoted 1 line

+if [ -z $MAIL_NOT_INSTALLED ]; then

tests must always be quoted:
[ -z "$foo" ]

Worse, as $MAIL_NOT_INSTALLED is always "0" or "1", -z always return false...

From 8035091c4232e8d6c7b3a75d612bc82c1ad84365 Mon Sep 17 00:00:00 2001
From: Geert Uytterhoeven <[email protected]>
Date: Thu, 27 Aug 2009 14:11:58 +0200
Subject: [PATCH] Fix mail_tests for systems with mail installed

Quoted 6 lines

`-z' tests for a string length of zero, not for a zero value, causing the test always to return false.
Initialize $MAIL_NOT_INSTALLED to an empty string instead of a numerical zero to fix this.

Ok. Thanks.

Regards--
Subrata

Quoted 9 lines
---
 testcases/commands/mail/mail_tests.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
testcases/commands/mail/mail_tests.sh +0 -0
index 0959a0c..45bac93 100755

testcases/commands/mail/mail_tests.sh RC=0 · line 65

Quoted 8 lines
testcases/commands/mail/mail_tests.sh +1 -1
@@ -59,7 +59,7 @@ RC=0
 export TCID=SETUP
 export TST_COUNT=1
 
-MAIL_NOT_INSTALLED=0
+MAIL_NOT_INSTALLED=
 `type mail &> /dev/null`
 if [ $? != 0 ]; then
     MAIL_NOT_INSTALLED=1

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list