The following patch complements previous ones to fix/improve the
behaviour of cron_tests.sh script. Some fixes inspired in CAI Qian's
previous posts.

Changes:
1- Added LANG= in the script executed by cron to avoid issues with
internationalization.
2- Reordered some tests so that one checks if one of the variables
TS_MIN is empty (in case there was some problem to create the file
tst1_cron.out)
3- Eliminated the \t\n from the output strings that caused the problem
reported by Subrata
4- Fixed the order the expected x received values are printed out to the output log

I have tested the changes in a sandbox script trying to simulate different error scenarios.

Signed-Off-By: Elder Costa <[EMAIL PROTECTED]>



--- ltp-cvs-081029a/testcases/commands/cron/cron_tests.sh.ORIG	2008-10-29 12:06:07.000000000 -0200
+++ ltp-cvs-081029a/testcases/commands/cron/cron_tests.sh	2008-10-29 12:04:45.000000000 -0200
@@ -87,7 +87,7 @@
 cat > $LTPTMP/tst1_cronprg.sh <<EOF
 #! /bin/sh
 
-DATE=\`LANG= date\`
+DATE=\`date\`
 echo "Hello Hell today is \$DATE " > $LTPTMP/tst1_cron.out 2>&1
 exit 0
 EOF
@@ -161,13 +161,6 @@
 do
 	TS_MIN1=$(awk '{print $8}' $LTPTMP/tst1_cron.out |
 	    awk -F: '{printf("%d", $2);}')
-	if [ $TS_MIN1 -eq 59 ]
-	then
-		TS_MIN1=00
-	else
-		 		 TS_MIN1=$(( $TS_MIN1+1 ))
-	fi
-		
 
 	# wait for the cronjob to update the tst1_cron.out file.
 	sleep 1m 2s
@@ -178,19 +171,36 @@
 	TS_MIN2=$(awk '{print $8}' $LTPTMP/tst1_cron.out |
 	    awk -F: '{printf("%d", $2);}')
 
-	if [ "$TS_MIN2" != "$TS_MIN1" ]
+	if [ "x${TS_MIN1}" = "x" ] || [ "x${TS_MIN2}" = "x" ]
+	then
+		$LTPBIN/tst_resm TFAIL \
+			"Test #1: problem with $LTPTMP/tst1_cron.out file "
+		$LTPBIN/tst_resm TINFO \
+			"Test #1: TS_MIN1: $TS_MIN1; TS_MIN2: $TS_MIN2"
+		FAILCNT=$(( $FAILCNT+1 ))
+		break;
+	fi
+
+	if [ $TS_MIN1 -eq 59 ]
+	then
+		TS_MIN1=0
+	else
+		TS_MIN1=$(( $TS_MIN1+1 ))
+	fi
+
+	if [ $TS_MIN2 -ne $TS_MIN1 ]
 	then
 		# if the value of the minute field did not advance by 1
 		# flag as failure.
 		FAILCNT=$(( $FAILCNT+1 ))
-		echo "\n\t\tExpected $TS_MIN2 \n\t\tReceived $TS_MIN1" \
+		echo "    Expected $TS_MIN1;     Received $TS_MIN2" \
 			> $LTPTMP/tst1_cron.log
 		$LTPBIN/tst_res TFAIL $LTPTMP/tst1_cron.log \
 			"Test #1: Failed to update every minute. Reason:"
 		crontab -r >/dev/null 2>&1
 		break
 	else
-		echo "\n\t\tExpected $TS_MIN2 \n\t\tReceived $TS_MIN1" \
+		echo "    Expected $TS_MIN1;     Received $TS_MIN2" \
 			> $LTPTMP/tst1_cron.log
 		$LTPBIN/tst_res TINFO $LTPTMP/tst1_cron.log \
 			"Test #1: Values are good: "

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to