From: Subrata <sub...@us...> - 2008-06-03 13:37:04
|
Update of /cvsroot/ltp/ltp/testcases/kernel/syscalls/execve In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18787/ltp/testcases/kernel/syscalls/execve Modified Files: execve05.c Log Message: The following patches fix execve05 for error reporting when execve() succeeds, and exit synchronization in loaded systems. The last two patches are minor cleanups. execve05 checks that execve() fails if a process has opened the file with write access. However, in case the test fails and execve() succeeds, the default binary (test3) has return code 0, which is interpreted as test success. We get output like that: <output> Hello World </output> with return code 0 (success) instead of: <output> execve05 1 FAIL : Failures reported above </output> with return code matching FAIL. This patch simply changes the success return code from 0 to 3, so that execve() success, and thus test failure, can be properly reported. Signed-off-by: Louis Rilling <Lou...@ke...>. Index: execve05.c =================================================================== RCS file: /cvsroot/ltp/ltp/testcases/kernel/syscalls/execve/execve05.c,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** execve05.c 20 May 2008 10:11:00 -0000 1.10 --- execve05.c 3 Jun 2008 13:36:57 -0000 1.11 *************** *** 88,92 **** char *msg; /* message returned from parse_opts */ pid_t pid, pid1; ! int e_code, status, retval=0; char *argv[1], *env[1]; --- 88,92 ---- char *msg; /* message returned from parse_opts */ pid_t pid, pid1; ! int e_code, status, retval=3; char *argv[1], *env[1]; *************** *** 175,179 **** /* make sure the child returned a good exit status */ e_code = status >> 8; ! if ((e_code != 0) || (retval != 0)) { tst_resm(TFAIL, "Failures reported above"); } --- 175,183 ---- /* make sure the child returned a good exit status */ e_code = status >> 8; ! /* If execve() succeeds, child cannot report the error */ ! if (status == 0) ! tst_resm(TFAIL, "execve succeeded, " ! "expected failure"); ! if ((e_code != 3) || (retval != 3)) { tst_resm(TFAIL, "Failures reported above"); } |