[PATCH v3] syscalls: consolidate getpid02 into getppid02
Jinseok Kim <[email protected]> Fri, 7 Aug 2026 00:08:13 +0900
| Newsgroups | gmane.linux.ltp |
|---|---|
| Message-ID | <[email protected]> |
Although named getpid02, the test verifies both getpid() and getppid() across fork(). Reuse its broader coverage in getppid02 and remove the duplicated getpid02 test. While at it, rename proc_id to parent_pid for clarity and use TST_EXP_EQ_LI() for PID comparisons. Signed-off-by: Jinseok Kim <[email protected]> --- Changes in v3: - Rename proc_id to parent_pid for clarity. - Use TST_EXP_EQ_LI() for PID comparisons. - Link to v2: https://lore.kernel.org/ltp/20260729120820.5646-1-always.starving0-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org --- runtest/syscalls | 1 - testcases/kernel/syscalls/getpid/.gitignore | 1 - testcases/kernel/syscalls/getpid/getpid02.c | 67 ------------------- testcases/kernel/syscalls/getppid/getppid02.c | 43 ++++++++---- 4 files changed, 31 insertions(+), 81 deletions(-) delete mode 100644 testcases/kernel/syscalls/getpid/getpid02.c diff --git a/runtest/syscalls b/runtest/syscalls index a38743ded..62a33e3a6 100644 --- a/runtest/syscalls +++ b/runtest/syscalls @@ -517,7 +517,6 @@ getpgid02 getpgid02 getpgrp01 getpgrp01 getpid01 getpid01 -getpid02 getpid02 getppid01 getppid01 getppid02 getppid02 diff --git a/testcases/kernel/syscalls/getpid/.gitignore b/testcases/kernel/syscalls/getpid/.gitignore index f44bc9eac..8e7ab0185 100644 --- a/testcases/kernel/syscalls/getpid/.gitignore +++ b/testcases/kernel/syscalls/getpid/.gitignore @@ -1,2 +1 @@ /getpid01 -/getpid02 diff --git a/testcases/kernel/syscalls/getpid/getpid02.c b/testcases/kernel/syscalls/getpid/getpid02.c deleted file mode 100644 index 08fcd5337..000000000 --- a/testcases/kernel/syscalls/getpid/getpid02.c +++ /dev/null @@ -1,67 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later -/* - * Copyright (c) International Business Machines Corp., 2001 - */ - -/*\ - * Check that: - * - * - :manpage:`fork(2)` in parent returns the same pid as - * :manpage:`getpid(2)` in child - * - :manpage:`getppid(2)` in child returns the same pid as - * :manpage:`getpid(2)` in parent - */ - -#include "tst_test.h" - -static pid_t *child_pid; - -static void verify_getpid(void) -{ - pid_t proc_id; - pid_t pid; - pid_t pproc_id; - - proc_id = getpid(); - pid = SAFE_FORK(); - - if (pid == 0) { - pproc_id = getppid(); - - if (pproc_id != proc_id) { - tst_res(TFAIL, "child getppid() (%d) != parent getpid() (%d)", - pproc_id, proc_id); - } else { - tst_res(TPASS, "child getppid() == parent getpid() (%d)", proc_id); - } - - *child_pid = getpid(); - - return; - } - - tst_reap_children(); - - if (*child_pid != pid) - tst_res(TFAIL, "child getpid() (%d) != parent fork() (%d)", *child_pid, pid); - else - tst_res(TPASS, "child getpid() == parent fork() (%d)", pid); -} - -static void setup(void) -{ - child_pid = SAFE_MMAP(NULL, sizeof(pid_t), PROT_READ | PROT_WRITE, - MAP_ANONYMOUS | MAP_SHARED, -1, 0); -} - -static void cleanup(void) -{ - SAFE_MUNMAP(child_pid, sizeof(pid_t)); -} - -static struct tst_test test = { - .forks_child = 1, - .setup = setup, - .cleanup = cleanup, - .test_all = verify_getpid, -}; diff --git a/testcases/kernel/syscalls/getppid/getppid02.c b/testcases/kernel/syscalls/getppid/getppid02.c index 7497eba12..b9c773e8d 100644 --- a/testcases/kernel/syscalls/getppid/getppid02.c +++ b/testcases/kernel/syscalls/getppid/getppid02.c @@ -4,33 +4,52 @@ */ /*\ - * Check that getppid() in child returns the same pid as getpid() in parent. + * Check that: + * + * - :manpage:`fork(2)` in parent returns the same pid as + * :manpage:`getpid(2)` in child + * - :manpage:`getppid(2)` in child returns the same pid as + * :manpage:`getpid(2)` in parent */ -#include <errno.h> - #include "tst_test.h" +static pid_t *child_pid; + static void verify_getppid(void) { - pid_t proc_id; + pid_t parent_pid; pid_t pid; - pid_t pproc_id; - proc_id = getpid(); + parent_pid = getpid(); pid = SAFE_FORK(); + if (pid == 0) { - pproc_id = getppid(); + TST_EXP_EQ_LI(getppid(), parent_pid); - if (pproc_id != proc_id) - tst_res(TFAIL, "child's ppid(%d) not equal to parent's pid(%d)", - pproc_id, proc_id); - else - tst_res(TPASS, "getppid() returned parent pid (%d)", proc_id); + *child_pid = getpid(); + return; } + + tst_reap_children(); + + TST_EXP_EQ_LI(*child_pid, pid); +} + +static void setup(void) +{ + child_pid = SAFE_MMAP(NULL, sizeof(pid_t), PROT_READ | PROT_WRITE, + MAP_ANONYMOUS | MAP_SHARED, -1, 0); +} + +static void cleanup(void) +{ + SAFE_MUNMAP(child_pid, sizeof(pid_t)); } static struct tst_test test = { .forks_child = 1, + .setup = setup, + .cleanup = cleanup, .test_all = verify_getppid, }; -- 2.43.0 -- Mailing list info: https://lists.linux.it/listinfo/ltp