Enclosed is a patch that fixes display errors in waitpid03 and waitpid04.

Regards,
-louis
waitpid03/04: Fix condition numbers displayed when reporting errors

The condition numbers displayed while reporting errors in waitpid03 and
waitpid04 are used initialized and are not consistently updated, which may lead
to useless reports.

Fix this.

Signed-off-by: Louis Rilling <[EMAIL PROTECTED]>
---
 testcases/kernel/syscalls/waitpid/waitpid03.c |   12 ++++++++----
 testcases/kernel/syscalls/waitpid/waitpid04.c |   16 ++++++++++------
 2 files changed, 18 insertions(+), 10 deletions(-)

Index: b/testcases/kernel/syscalls/waitpid/waitpid03.c
===================================================================
--- a/testcases/kernel/syscalls/waitpid/waitpid03.c	2008-02-22 17:22:10.000000000 +0100
+++ b/testcases/kernel/syscalls/waitpid/waitpid03.c	2008-02-22 18:03:19.000000000 +0100
@@ -136,17 +136,20 @@ int main(int argc, char **argv)
 			kill(pid[ikids], 15);
 		}
 
+		condition_number = 1;
+
 		/* Wait on one specific child */
 		if (DEBUG)
 			tst_resm(TINFO, "Waiting for child:#%d", MAXUPRC / 2);
 		ret = waitpid(pid[MAXUPRC / 2], &status, 0);
 		if (ret != pid[MAXUPRC / 2]) {
 			tst_resm(TFAIL, "condition %d test failed. "
-				"waitpid(%d) returned %d.", pid[MAXUPRC / 2],
-				ret, condition_number++);
+				"waitpid(%d) returned %d.",
+				condition_number, pid[MAXUPRC / 2], ret);
 		} else {
 			tst_resm(TPASS, "Got correct child PID");
 		}
+		condition_number++;
 
 		/*
 		 * Child has already been waited on, waitpid should return
@@ -155,11 +158,12 @@ int main(int argc, char **argv)
 		ret = waitpid(pid[MAXUPRC / 2], &status, 0);
 		if (ret != -1) {
 			tst_resm(TFAIL, "condition %d test failed",
-				 condition_number++);
+				 condition_number);
 		} else {
 			tst_resm(TPASS, "Condition %d test passed",
-				condition_number++);
+				condition_number);
 		}
+		condition_number++;
 	}
 	cleanup();
 	/*NOTREACHED*/
Index: b/testcases/kernel/syscalls/waitpid/waitpid04.c
===================================================================
--- a/testcases/kernel/syscalls/waitpid/waitpid04.c	2008-02-22 17:22:10.000000000 +0100
+++ b/testcases/kernel/syscalls/waitpid/waitpid04.c	2008-02-22 18:01:59.000000000 +0100
@@ -87,9 +87,10 @@ int main(int ac, char **av)
 
 		ret = waitpid(pid, &status, WNOHANG);
 		flag = 0;
+		condition_number = 1;
 		if( ret != -1) {
 			tst_resm(TFAIL, "condition %d test failed",
-				 condition_number++);
+				 condition_number);
 		} else {
 			TEST_ERROR_LOG(errno);
 			if (errno != ECHILD) {
@@ -98,9 +99,10 @@ int main(int ac, char **av)
 					 errno);
 			} else {
 				tst_resm(TPASS, "condition %d test passed",
-					condition_number++);
+					condition_number);
 			}
 		}
+		condition_number++;
 
 		if (FORK_OR_VFORK() == 0) {
 			exit(0);
@@ -110,7 +112,7 @@ int main(int ac, char **av)
 		flag = 0;
 		if( ret != -1) {
 			tst_resm(TFAIL, "condition %d test failed",
-				 condition_number++);
+				 condition_number);
 		} else {
 			TEST_ERROR_LOG(errno);
 			if (errno != ECHILD) {
@@ -119,16 +121,17 @@ int main(int ac, char **av)
 					 errno);
 			} else {
 				tst_resm(TPASS, "condition %d test passed",
-					condition_number++);
+					condition_number);
 			}
 		}
+		condition_number++;
 
 		/* Option is Inval = INVAL_FLAG */
 		ret =  waitpid(pid, &status, INVAL_FLAG);
 		flag = 0;
 		if( ret != -1) {
 			tst_resm(TFAIL, "condition %d test failed",
-				 condition_number++);
+				 condition_number);
 		} else {
 			TEST_ERROR_LOG(errno);
 			if (errno != EINVAL) {
@@ -137,9 +140,10 @@ int main(int ac, char **av)
 					 errno);
 			} else {
 				 tst_resm(TPASS, "condition %d test passed",
-					condition_number++);
+					condition_number);
 			}
 		}
+		condition_number++;
 	}
 	cleanup();
 	/*NOTREACHED*/
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to