Fix minor bugs in the test case that cause the test to fail intermittently. Also, print more debug info when test fails.
This fixes a bug reported by Sachin P. Sant. Signed-off-by: Sukadev Bhattiprolu <[email protected]> --- testcases/kernel/containers/pidns/pidns17.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) Index: ltp-full-20090331/testcases/kernel/containers/pidns/pidns17.c =================================================================== --- ltp-full-20090331.orig/testcases/kernel/containers/pidns/pidns17.c 2009-06-10 23:52:44.022094621 -0700 +++ ltp-full-20090331/testcases/kernel/containers/pidns/pidns17.c 2009-06-11 00:09:37.454753439 -0700 @@ -74,8 +74,10 @@ int child_fn(void *arg) /* Spawn many children */ for (i = 0; i < 10; i++) - if ((children[i] = fork()) == 0) - sleep(10); + if ((children[i] = fork()) == 0) { + pause(); + exit(2); + } /* wait for last child to get scheduled */ sleep(1); @@ -86,13 +88,16 @@ int child_fn(void *arg) } for (i = 0; i < 10; i++) { - if (waitpid(children[i], &status, WNOHANG) == -1) { + if (waitpid(children[i], &status, 0) == -1) { tst_resm(TBROK, "cinit: waitpid() failed(%s)",\ strerror(errno)); cleanup(); } - if (!(WIFSIGNALED(&status) && WTERMSIG(status) == SIGUSR1)) { - tst_resm(TFAIL, "cinit: found a child alive still."); + if (!(WIFSIGNALED(status) && WTERMSIG(status) == SIGUSR1)) { + tst_resm(TFAIL, "cinit: found a child alive still " + "%d exit: %d, %d, signal %d, %d", i, + WIFEXITED(status), WEXITSTATUS(status), + WIFSIGNALED(status), WTERMSIG(status)); cleanup(); } } @@ -125,7 +130,7 @@ int main(int argc, char *argv[]) } sleep(1); - if (wait(&status) < 0) + if (waitpid(-1, &status, __WALL) < 0) tst_resm(TWARN, "parent: waitpid() failed."); if (!WIFEXITED(status) || WEXITSTATUS(status) != 0) ------------------------------------------------------------------------------ Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
