All of lore.kernel.org
 help / color / mirror / Atom feed
From: Caspar Zhang <caspar@casparzhang.com>
To: ZhoupingLiu <zliu@redhat.com>
Cc: ltp-list@lists.sourceforge.net
Subject: Re: [LTP] [PATCH] setrlimit01: wait for all children to exit in test3
Date: Wed, 21 Mar 2012 17:46:02 +0800	[thread overview]
Message-ID: <4F69A35A.7060109@casparzhang.com> (raw)
In-Reply-To: <4F69A24D.6030903@redhat.com>

On 03/21/2012 05:41 PM, ZhoupingLiu wrote:
> On 03/20/2012 11:39 PM, Salvatore CRO' wrote:
>> In test3, parent just wait for one child to exit but it
>> actually has 10.
> hi, Salvatore
> 
> yes, you are right, but your patch didn't resolve the issue completely.
> comments in-line.
> 
>> As it could happen there may be other children around that
>> didn't get yet the chance to exit, they will get signaled
>> by ltp-pan (SIGTERM) and pollute the output of subsequent
>> test (setrlimit02).
>> Parent definitely needs to wait for all children to exit.
>>
>> Signed-off-by: Salvatore Cro<salvatore.cro@st.com>
>> ---
>>   testcases/kernel/syscalls/setrlimit/setrlimit01.c |    2 +-
>>   1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/testcases/kernel/syscalls/setrlimit/setrlimit01.c b/testcases/kernel/syscalls/setrlimit/setrlimit01.c
>> index ac32450..430835c 100644
>> --- a/testcases/kernel/syscalls/setrlimit/setrlimit01.c
>> +++ b/testcases/kernel/syscalls/setrlimit/setrlimit01.c
>> @@ -267,7 +267,7 @@ void test3()
>>   			exit(0);
>>   		}
>>   	}
>> -	waitpid(pid,&status, 0);
>> +	while(wait(&status)>  0) { /* no-op */ ; }
>>   	if (WEXITSTATUS(status) != 0) {
>>   		tst_resm(TFAIL, "RLIMIT_NPROC functionality is not correct");
>>   	} else {
> if one child exit unexpectedly, e.g: exit(9);
> the case can't catch it. how about this patch set:
> 
> diff --git a/testcases/kernel/syscalls/setrlimit/setrlimit01.c 
> b/testcases/kernel/syscalls/setrlimit/setrlimit01.c
> index ac32450..ec3e54e 100644
> --- a/testcases/kernel/syscalls/setrlimit/setrlimit01.c
> +++ b/testcases/kernel/syscalls/setrlimit/setrlimit01.c
> @@ -226,6 +226,8 @@ void test2()
>    */
>   void test3()
>   {
> +       int flag = 0;
> +
>          if (getrlimit(RLIMIT_NPROC, &save_rlim) < 0) {
>                  tst_brkm(TBROK, cleanup, "getrlimit failed, errno: %d", 
> errno);
>          }
> @@ -267,12 +269,16 @@ void test3()
>                          exit(0);
>                  }
>          }
> -       waitpid(pid, &status, 0);
> -       if (WEXITSTATUS(status) != 0) {
> -               tst_resm(TFAIL, "RLIMIT_NPROC functionality is not 
> correct");
> -       } else {
> -               tst_resm(TPASS, "RLIMIT_NPROC functionality is correct");
> +       while (wait(&status) > 0) {
> +               if (WEXITSTATUS(status) != 0) {
> +                       tst_resm(TFAIL,
> +                           "RLIMIT_NPROC functionality is not correct");
> +                       flag = 1;
> +               }
>          }
> +
> +       if (flag == 0)
> +               tst_resm(TPASS, "RLIMIT_NPROC functionality is correct");

flag is not necessary. no TFAIL means TPASS. Rest looks good for your patch.

Thanks,
Caspar

------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

  reply	other threads:[~2012-03-21  9:47 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-20 15:39 [LTP] [PATCH] setrlimit01: wait for all children to exit in test3 Salvatore CRO'
2012-03-21  8:15 ` Carmelo AMOROSO
2012-03-21  9:41 ` ZhoupingLiu
2012-03-21  9:46   ` Caspar Zhang [this message]
2012-03-21 11:10     ` Salvatore CRO'
2012-03-23  7:13       ` Salvatore CRO'

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F69A35A.7060109@casparzhang.com \
    --to=caspar@casparzhang.com \
    --cc=ltp-list@lists.sourceforge.net \
    --cc=zliu@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.