* [LTP] [PATCH v2] syscalls: consolidate getpid02 into getppid02
@ 2026-07-29 12:08 Jinseok Kim
0 siblings, 0 replies; only message in thread
From: Jinseok Kim @ 2026-07-29 12:08 UTC (permalink / raw)
To: ltp
Although named getpid02, the test verifies both getpid() and getppid()
across fork(). Reuse its broader coverage in getppid02 and remove the
duplicated getpid02 test.
Signed-off-by: Jinseok Kim <always.starving0@gmail.com>
---
runtest/syscalls | 1 -
testcases/kernel/syscalls/getpid/.gitignore | 1 -
testcases/kernel/syscalls/getpid/getpid02.c | 67 -------------------
testcases/kernel/syscalls/getppid/getppid02.c | 45 +++++++++++--
4 files changed, 38 insertions(+), 76 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..054ddbab7 100644
--- a/testcases/kernel/syscalls/getppid/getppid02.c
+++ b/testcases/kernel/syscalls/getppid/getppid02.c
@@ -4,13 +4,18 @@
*/
/*\
- * 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;
@@ -19,18 +24,44 @@ static void verify_getppid(void)
proc_id = getpid();
pid = SAFE_FORK();
+
if (pid == 0) {
pproc_id = getppid();
- if (pproc_id != proc_id)
- tst_res(TFAIL, "child's ppid(%d) not equal to parent's pid(%d)",
+ if (pproc_id != proc_id) {
+ tst_res(TFAIL, "child getppid() (%d) != parent getpid() (%d)",
pproc_id, proc_id);
- else
- tst_res(TPASS, "getppid() returned parent pid (%d)", 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_getppid,
};
--
2.43.0
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-07-29 12:09 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-29 12:08 [LTP] [PATCH v2] syscalls: consolidate getpid02 into getppid02 Jinseok Kim
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.