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

Petr Vorel pvorel@suse.cz
Sat Sep 30 08:54:43 CEST 2023


Hi Edward,

> Android's init does not call setpgid(0, 0) so it does not have pgid=1.
> 0 is functionally equivalent, since pgid 0 means the pgid is the same as
> the process pid.

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

> diff --git a/testcases/kernel/syscalls/getpgid/getpgid01.c b/testcases/kernel/syscalls/getpgid/getpgid01.c
> index 479fe5dcb..8640f2c93 100644
> --- a/testcases/kernel/syscalls/getpgid/getpgid01.c
> +++ b/testcases/kernel/syscalls/getpgid/getpgid01.c
> @@ -37,7 +37,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_EXPR(TST_RET == 1 || TST_RET == 0, "getpgid(1) == 1 or 0");
Although I don't prefer using often libc specific code, here I'd use it:

#ifndef __ANDROID__ 
		TST_EXP_EQ_LI(TST_RET, 0);
#else
		TST_EXP_EQ_LI(TST_RET, 1);
#endif

Because your code would loosen testing for other libc.
Cyril, Li, WDYT?

Kind regards,
Petr


More information about the ltp mailing list