All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Stancek <jstancek@redhat.com>
To: Xiaoguang Wang <wangxg.fnst@cn.fujitsu.com>
Cc: LTP <ltp-list@lists.sourceforge.net>
Subject: Re: [LTP] [PATCH v3 2/2] setpgid/setpgid01.c: add pid = 0 and pgid = 0 test
Date: Mon, 19 May 2014 08:15:45 -0400 (EDT)	[thread overview]
Message-ID: <2020736027.7623534.1400501745312.JavaMail.zimbra@redhat.com> (raw)
In-Reply-To: <53796394.8030906@cn.fujitsu.com>





----- Original Message -----
> From: "Xiaoguang Wang" <wangxg.fnst@cn.fujitsu.com>
> To: "Jan Stancek" <jstancek@redhat.com>
> Cc: "LTP" <ltp-list@lists.sourceforge.net>
> Sent: Monday, 19 May, 2014 3:51:16 AM
> Subject: Re: [PATCH v3 2/2] setpgid/setpgid01.c: add pid = 0 and pgid = 0 test
> 
> Hi Jan,
> 
>     Thanks for your reviewing.
>     I have added the possible error message output in this patch v3.

Hi,

looks good to me.

Reviewed-by: Jan Stancek <jstancek@redhat.com>

>    Would you like to commit it, thanks.

Let's give it a day or two in case someone else wants to comment as well.

Regards,
Jan

> 
> Regards,
> Xiaoguang Wang
> 
> On 05/19/2014 09:45 AM, Xiaoguang Wang wrote:
> > Signed-off-by: Xiaoguang Wang <wangxg.fnst@cn.fujitsu.com>
> > ---
> >  testcases/kernel/syscalls/setpgid/setpgid01.c | 54
> >  ++++++++++++++++++++++++++-
> >  1 file changed, 52 insertions(+), 2 deletions(-)
> >
> > diff --git a/testcases/kernel/syscalls/setpgid/setpgid01.c
> > b/testcases/kernel/syscalls/setpgid/setpgid01.c
> > index 700e573..00e895b 100644
> > --- a/testcases/kernel/syscalls/setpgid/setpgid01.c
> > +++ b/testcases/kernel/syscalls/setpgid/setpgid01.c
> > @@ -36,12 +36,14 @@
> >   * Description:
> >   * Verify that:
> >   *   1. Basic functionality test for setpgid(2).
> > + *   2. Check functioning of setpgid(2) with pid = 0 and pgid = 0.
> >   */
> >  
> >  #include <errno.h>
> >  #include <string.h>
> >  #include <signal.h>
> >  #include <stdlib.h>
> > +#include <sys/wait.h>
> >  #include "test.h"
> >  #include "usctest.h"
> >  
> > @@ -51,7 +53,8 @@ static void cleanup(void);
> >  char *TCID = "setpgid01";
> >  
> >  static void setpgid_test1(void);
> > -static void (*testfunc[])(void) = { setpgid_test1};
> > +static void setpgid_test2(void);
> > +static void (*testfunc[])(void) = { setpgid_test1, setpgid_test2};
> >  int TST_TOTAL = ARRAY_SIZE(testfunc);
> >  
> >  int main(int ac, char **av)
> > @@ -91,9 +94,56 @@ static void setpgid_test1(void)
> >  	}
> >  }
> >  
> > +static int wait4child(pid_t child)
> > +{
> > +	int status;
> > +
> > +	if (waitpid(child, &status, 0) == -1)
> > +		tst_resm(TBROK|TERRNO, "waitpid");
> > +	if (WIFEXITED(status))
> > +		return WEXITSTATUS(status);
> > +	else
> > +		return status;
> > +}
> > +
> > +static void setpgid_test2(void)
> > +{
> > +	int ret;
> > +	pid_t pgid, pid;
> > +
> > +	pid = FORK_OR_VFORK();
> > +	if (pid == -1)
> > +		tst_brkm(TBROK | TERRNO, cleanup, "fork()");
> > +
> > +	if (pid != 0) {
> > +		ret = wait4child(pid);
> > +	} else {
> > +		pid = getpid();
> > +		TEST(setpgid(0, 0));
> > +		pgid = getpgrp();
> > +		if (TEST_RETURN == -1) {
> > +			fprintf(stderr, "setpgid(0, 0) fails in "
> > +				"child process: %s\n", strerror(TEST_ERRNO));
> > +			exit(1);
> > +		} else if (pgid != pid) {
> > +			fprintf(stderr, "setpgid(0, 0) fails to make PGID"
> > +				"equal to PID\n");
> > +			exit(1);
> > +		} else {
> > +			exit(0);
> > +		}
> > +	}
> > +
> > +	if (ret == 0)
> > +		tst_resm(TPASS, "test setpgid(0, 0) success");
> > +	else
> > +		tst_resm(TFAIL, "test setpgid(0, 0) fail");
> > +}
> > +
> > +
> >  static void setup(void)
> >  {
> > -	tst_sig(NOFORK, DEF_HANDLER, cleanup);
> > +	tst_sig(FORK, DEF_HANDLER, cleanup);
> >  
> >  	TEST_PAUSE;
> >  }
> 
> 

------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

  reply	other threads:[~2014-05-19 12:16 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-19  1:45 [LTP] [PATCH v3 1/2] setpgid/setpgid01.c: cleanup Xiaoguang Wang
2014-05-19  1:45 ` [LTP] [PATCH v3 2/2] setpgid/setpgid01.c: add pid = 0 and pgid = 0 test Xiaoguang Wang
2014-05-19  1:51   ` Xiaoguang Wang
2014-05-19 12:15     ` Jan Stancek [this message]
2014-05-21  8:08   ` Jan Stancek

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=2020736027.7623534.1400501745312.JavaMail.zimbra@redhat.com \
    --to=jstancek@redhat.com \
    --cc=ltp-list@lists.sourceforge.net \
    --cc=wangxg.fnst@cn.fujitsu.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.