diff mbox series

[v3] getpgid01: On Android, pgid(1) is 0 instead of 1

Message ID 20231027190029.3820505-1-edliaw@google.com
State Accepted
Headers show
Series [v3] getpgid01: On Android, pgid(1) is 0 instead of 1 | expand

Commit Message

Edward Liaw Oct. 27, 2023, 7 p.m. UTC
Android's init does not call setpgid(0, 0) so it does not have pgid=1.

In either case, the pgid should match /proc/1/stat, so compare
getpgid(1) against that.

Signed-off-by: Edward Liaw <edliaw@google.com>
---
 testcases/kernel/syscalls/getpgid/getpgid01.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

Comments

Petr Vorel Oct. 30, 2023, 7:40 a.m. UTC | #1
Hi Edward,

> Android's init does not call setpgid(0, 0) so it does not have pgid=1.

> In either case, the pgid should match /proc/1/stat, so compare
> getpgid(1) against that.

> Signed-off-by: Edward Liaw <edliaw@google.com>
> ---
>  testcases/kernel/syscalls/getpgid/getpgid01.c | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)

> diff --git a/testcases/kernel/syscalls/getpgid/getpgid01.c b/testcases/kernel/syscalls/getpgid/getpgid01.c
> index 479fe5dcb..de05a434b 100644
> --- a/testcases/kernel/syscalls/getpgid/getpgid01.c
> +++ b/testcases/kernel/syscalls/getpgid/getpgid01.c
> @@ -13,6 +13,14 @@

>  #include "tst_test.h"

> +static int get_init_pgid()
static int get_init_pgid(void)

We still use -std=gnu99, thus we need that otherwise compiler complains
warning: old-style function definition [-Wold-style-definition].

It can be fixed during merge.

Kind regards,
Petr

> +{
> +	int pgid;
> +
> +	SAFE_FILE_SCANF("/proc/1/stat", "%*d %*s %*c %*d %d", &pgid);
> +	return pgid;
> +}
> +
>  static void run(void)
>  {
>  	pid_t pid_1, child_pid, pgid;
> @@ -37,7 +45,7 @@ static void run(void)
>  		TST_EXP_EQ_LI(TST_RET, pgid);

>  		TST_EXP_PID(getpgid(1));
> -		TST_EXP_EQ_LI(TST_RET, 1);
> +		TST_EXP_EQ_LI(TST_RET, get_init_pgid());
>  	}

>  	tst_reap_children();
Cyril Hrubis Oct. 30, 2023, 10:06 a.m. UTC | #2
Hi!
> > +static int get_init_pgid()
> static int get_init_pgid(void)
> 
> We still use -std=gnu99, thus we need that otherwise compiler complains
> warning: old-style function definition [-Wold-style-definition].
> 
> It can be fixed during merge.

With that fixed:

Reviewed-by: Cyril Hrubis <chrubis@suse.cz>
Petr Vorel Oct. 30, 2023, 11:06 a.m. UTC | #3
> Hi!
> > > +static int get_init_pgid()
> > static int get_init_pgid(void)

> > We still use -std=gnu99, thus we need that otherwise compiler complains
> > warning: old-style function definition [-Wold-style-definition].

> > It can be fixed during merge.

> With that fixed:

> Reviewed-by: Cyril Hrubis <chrubis@suse.cz>

Great, merged.

Kind regards,
Petr
diff mbox series

Patch

diff --git a/testcases/kernel/syscalls/getpgid/getpgid01.c b/testcases/kernel/syscalls/getpgid/getpgid01.c
index 479fe5dcb..de05a434b 100644
--- a/testcases/kernel/syscalls/getpgid/getpgid01.c
+++ b/testcases/kernel/syscalls/getpgid/getpgid01.c
@@ -13,6 +13,14 @@ 
 
 #include "tst_test.h"
 
+static int get_init_pgid()
+{
+	int pgid;
+
+	SAFE_FILE_SCANF("/proc/1/stat", "%*d %*s %*c %*d %d", &pgid);
+	return pgid;
+}
+
 static void run(void)
 {
 	pid_t pid_1, child_pid, pgid;
@@ -37,7 +45,7 @@  static void run(void)
 		TST_EXP_EQ_LI(TST_RET, pgid);
 
 		TST_EXP_PID(getpgid(1));
-		TST_EXP_EQ_LI(TST_RET, 1);
+		TST_EXP_EQ_LI(TST_RET, get_init_pgid());
 	}
 
 	tst_reap_children();