public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
* [LTP] [PATCH] waitid10: Set the core dump file location to temporary directory
@ 2024-03-28  8:40 Hui Min Mina Chou via ltp
  2024-03-28 17:22 ` Cyril Hrubis
  0 siblings, 1 reply; 3+ messages in thread
From: Hui Min Mina Chou via ltp @ 2024-03-28  8:40 UTC (permalink / raw)
  To: ltp; +Cc: minachou, tim609, cynthia

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


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [LTP] [PATCH] waitid10: Set the core dump file location to temporary directory
  2024-03-28  8:40 [LTP] [PATCH] waitid10: Set the core dump file location to temporary directory Hui Min Mina Chou via ltp
@ 2024-03-28 17:22 ` Cyril Hrubis
  2024-04-03  3:35   ` Mina Chou via ltp
  0 siblings, 1 reply; 3+ messages in thread
From: Cyril Hrubis @ 2024-03-28 17:22 UTC (permalink / raw)
  To: Hui Min Mina Chou; +Cc: tim609, cynthia, ltp

Hi!
> 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)

This description is missing the main point, that is why is this change
needed.

> 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);

Also why has to be the pattern absolute path?

If this is really needed we can as well do:

	.needs_tmpdir = 1,
	.save_restore = (const struct tst_path_val[]) {
		{CORE_PATTERN, "./core", TST_SR_TCONF},
		{}
	},

And be done with it.

-- 
Cyril Hrubis
chrubis@suse.cz

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [LTP] [PATCH] waitid10: Set the core dump file location to temporary directory
  2024-03-28 17:22 ` Cyril Hrubis
@ 2024-04-03  3:35   ` Mina Chou via ltp
  0 siblings, 0 replies; 3+ messages in thread
From: Mina Chou via ltp @ 2024-04-03  3:35 UTC (permalink / raw)
  To: Cyril Hrubis; +Cc: tim609, cynthia, ltp

On Thu, Mar 28, 2024 at 06:22:48PM +0100, Cyril Hrubis wrote:
> 
> Hi!
> > 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)
> 
> This description is missing the main point, that is why is this change
> needed.
> 
> > 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);
> 
> Also why has to be the pattern absolute path?
> 
> If this is really needed we can as well do:
> 
>         .needs_tmpdir = 1,
>         .save_restore = (const struct tst_path_val[]) {
>                 {CORE_PATTERN, "./core", TST_SR_TCONF},
>                 {}
>         },
> 
> And be done with it.
> 
> --
> Cyril Hrubis

Hi Cyril,

Thank you for your suggestions. I'll submit another patch with more explanations.

Thanks,
Mina

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-04-03  3:36 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-28  8:40 [LTP] [PATCH] waitid10: Set the core dump file location to temporary directory Hui Min Mina Chou via ltp
2024-03-28 17:22 ` Cyril Hrubis
2024-04-03  3:35   ` Mina Chou via ltp

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox