[LTP] [PATCH] waitid10: Set the core dump file location to temporary directory
Hui Min Mina Chou
minachou@andestech.com
Thu Mar 28 09:40:00 CET 2024
Reference to madvise08, set the core dump file location to
temporary directory, and restore default value after testing.
# ./waitid10
tst_buffers.c:56: TINFO: Test is using guarded buffers
tst_test.c:1709: TINFO: LTP version: 20240129-45-g69537563d16a
tst_test.c:1593: TINFO: Timeout per run is 0h 05m 00s
waitid10.c:60: TINFO: Temporary core pattern is '/tmp/LTP_waiTF0QR3/core'
waitid10.c:73: TINFO: Raising RLIMIT_CORE rlim_cur=0 -> 0
waitid10.c:38: TPASS: waitid(P_ALL, 0, infop, WEXITED) passed
waitid10.c:39: TPASS: infop->si_pid == pidchild (304)
waitid10.c:40: TPASS: infop->si_status == SIGFPE (8)
waitid10.c:41: TPASS: infop->si_signo == SIGCHLD (17)
waitid10.c:44: TPASS: infop->si_code == CLD_DUMPED (3)
Signed-off-by: Hui Min Mina Chou <minachou@andestech.com>
---
testcases/kernel/syscalls/waitid/waitid10.c | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/testcases/kernel/syscalls/waitid/waitid10.c b/testcases/kernel/syscalls/waitid/waitid10.c
index e55e88c2325e..3e48f52d0ea8 100644
--- a/testcases/kernel/syscalls/waitid/waitid10.c
+++ b/testcases/kernel/syscalls/waitid/waitid10.c
@@ -16,6 +16,8 @@
#include <sys/prctl.h>
#include "tst_test.h"
+#define CORE_PATTERN "/proc/sys/kernel/core_pattern"
+
static siginfo_t *infop;
static int core_dumps = 1;
@@ -48,9 +50,16 @@ static void setup(void)
{
struct rlimit rlim;
char c;
+ char cwd[1024];
+ char tmpcpattern[1048];
SAFE_GETRLIMIT(RLIMIT_CORE, &rlim);
- SAFE_FILE_SCANF("/proc/sys/kernel/core_pattern", "%c", &c);
+
+ SAFE_GETCWD(cwd, sizeof(cwd));
+ snprintf(tmpcpattern, sizeof(tmpcpattern), "%s/core", cwd);
+ tst_res(TINFO, "Temporary core pattern is '%s'", tmpcpattern);
+ SAFE_FILE_PRINTF(CORE_PATTERN, "%s", tmpcpattern);
+ SAFE_FILE_SCANF(CORE_PATTERN, "%c", &c);
if (rlim.rlim_cur)
return;
@@ -76,4 +85,9 @@ static struct tst_test test = {
{&infop, .size = sizeof(*infop)},
{},
},
+ .needs_tmpdir = 1,
+ .save_restore = (const struct tst_path_val[]) {
+ {CORE_PATTERN, NULL, TST_SR_TCONF},
+ {}
+ },
};
--
2.34.1
More information about the ltp
mailing list