On Wed, 2009-06-17 at 16:26 -0700, Sukadev Bhattiprolu wrote: 
> 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]>

Thanks. Merged.

Regards--
Subrata

> ---
>  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

Reply via email to