* [LTP] abort01 testcase cleanup
@ 2010-07-23 17:17 Nicolas Joly
2010-07-23 17:56 ` Garrett Cooper
0 siblings, 1 reply; 6+ messages in thread
From: Nicolas Joly @ 2010-07-23 17:17 UTC (permalink / raw)
To: LTP list
[-- Attachment #1: Type: text/plain, Size: 672 bytes --]
Hi,
The attached patch do some cleanup in the abort01 testcase ...
1) The attempt to remove the generated core is wrong. The hard-coded
`core' name is bad and the test temporary directory removal already
take care of this.
2) Make the test fail gracefully if the running environment does not
allow generating core files.
njoly@lanfeust [syscalls/abort]> ./abort01
abort01 1 TPASS : Test passed
njoly@lanfeust [syscalls/abort]> (ulimit -c 0 && ./abort01)
abort01 1 TCONF : core file size limit must be greater than 0.
Signed-off-by: Nicolas Joly <njoly@pasteur.fr>
--
Nicolas Joly
Biological Software and Databanks.
Institut Pasteur, Paris.
[-- Attachment #2: ltp-abort01.diff --]
[-- Type: text/plain, Size: 1071 bytes --]
diff --git a/testcases/kernel/syscalls/abort/abort01.c b/testcases/kernel/syscalls/abort/abort01.c
index 28ef9d6..c836f3a 100644
--- a/testcases/kernel/syscalls/abort/abort01.c
+++ b/testcases/kernel/syscalls/abort/abort01.c
@@ -43,6 +43,7 @@
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
+#include <sys/resource.h>
#include <sys/types.h>
#include <sys/wait.h>
@@ -157,7 +158,6 @@ int main(int argc, char *argv[])
/*--------------------------------------------------------------*/
/* Clean up any files created by test before call to anyfail. */
- unlink("core");
anyfail(); /* THIS CALL DOES NOT RETURN - EXITS!! */
return 0;
}
@@ -183,6 +183,18 @@ int anyfail()
void setup()
{
+ struct rlimit lim;
+
+ /* Ensure that core file size limit is greater than 0. */
+ if (getrlimit(RLIMIT_CORE, &lim) == -1) {
+ tst_resm(TFAIL|TERRNO, "getrlimit RLIMIT_CORE failed");
+ tst_exit();
+ }
+ if (lim.rlim_cur == 0) {
+ tst_resm(TCONF, "core file size limit must be greater than 0.");
+ tst_exit();
+ }
+
temp = stderr;
tst_tmpdir();
}
[-- Attachment #3: Type: text/plain, Size: 235 bytes --]
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
[-- Attachment #4: Type: text/plain, Size: 155 bytes --]
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [LTP] abort01 testcase cleanup
2010-07-23 17:17 [LTP] abort01 testcase cleanup Nicolas Joly
@ 2010-07-23 17:56 ` Garrett Cooper
2010-07-23 18:48 ` Nicolas Joly
0 siblings, 1 reply; 6+ messages in thread
From: Garrett Cooper @ 2010-07-23 17:56 UTC (permalink / raw)
To: Nicolas Joly; +Cc: LTP list
On Fri, Jul 23, 2010 at 10:17 AM, Nicolas Joly <njoly@pasteur.fr> wrote:
>
> Hi,
>
> The attached patch do some cleanup in the abort01 testcase ...
>
> 1) The attempt to remove the generated core is wrong. The hard-coded
> `core' name is bad and the test temporary directory removal already
> take care of this.
>
> 2) Make the test fail gracefully if the running environment does not
> allow generating core files.
>
> njoly@lanfeust [syscalls/abort]> ./abort01
> abort01 1 TPASS : Test passed
> njoly@lanfeust [syscalls/abort]> (ulimit -c 0 && ./abort01)
> abort01 1 TCONF : core file size limit must be greater than 0.
>
> Signed-off-by: Nicolas Joly <njoly@pasteur.fr>
Looks ok, but is there any particular reason why you removed the unlink(2) call?
Thanks,
-Garrett
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [LTP] abort01 testcase cleanup
2010-07-23 17:56 ` Garrett Cooper
@ 2010-07-23 18:48 ` Nicolas Joly
2010-07-23 22:03 ` Garrett Cooper
0 siblings, 1 reply; 6+ messages in thread
From: Nicolas Joly @ 2010-07-23 18:48 UTC (permalink / raw)
To: Garrett Cooper; +Cc: LTP list
On Fri, Jul 23, 2010 at 10:56:58AM -0700, Garrett Cooper wrote:
> On Fri, Jul 23, 2010 at 10:17 AM, Nicolas Joly <njoly@pasteur.fr> wrote:
> >
> > Hi,
> >
> > The attached patch do some cleanup in the abort01 testcase ...
> >
> > 1) The attempt to remove the generated core is wrong. The hard-coded
> > `core' name is bad and the test temporary directory removal already
> > take care of this.
> >
> > 2) Make the test fail gracefully if the running environment does not
> > allow generating core files.
> >
> > njoly@lanfeust [syscalls/abort]> ./abort01
> > abort01 1 TPASS : Test passed
> > njoly@lanfeust [syscalls/abort]> (ulimit -c 0 && ./abort01)
> > abort01 1 TCONF : core file size limit must be greater than 0.
> >
> > Signed-off-by: Nicolas Joly <njoly@pasteur.fr>
>
> Looks ok, but is there any particular reason why you removed the unlink(2) call?
The `unlink("core")' one ?
Well, at least RHEL do use `proc.<pid>' when generating core file
names ... Not speaking about admins that might have configured it to
use another scheme.
IMO, relying on a specific name, for a configurable system, is a bad
idea; and can only lead to problems.
By example, this test from mkdir09.c cannot succeed on most RHEL
systems:
/* Check for core file in test directory. */
if (access("core", 0) == 0) {
tst_resm(TWARN, "\tCore file found in test directory.");
tst_exit();
}
--
Nicolas Joly
Biological Software and Databanks.
Institut Pasteur, Paris.
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [LTP] abort01 testcase cleanup
2010-07-23 18:48 ` Nicolas Joly
@ 2010-07-23 22:03 ` Garrett Cooper
2010-07-23 23:20 ` Nicolas Joly
0 siblings, 1 reply; 6+ messages in thread
From: Garrett Cooper @ 2010-07-23 22:03 UTC (permalink / raw)
To: Nicolas Joly; +Cc: LTP list
On Jul 23, 2010, at 11:48 AM, Nicolas Joly wrote:
> On Fri, Jul 23, 2010 at 10:56:58AM -0700, Garrett Cooper wrote:
>> On Fri, Jul 23, 2010 at 10:17 AM, Nicolas Joly <njoly@pasteur.fr> wrote:
>>>
>>> Hi,
>>>
>>> The attached patch do some cleanup in the abort01 testcase ...
>>>
>>> 1) The attempt to remove the generated core is wrong. The hard-coded
>>> `core' name is bad and the test temporary directory removal already
>>> take care of this.
>>>
>>> 2) Make the test fail gracefully if the running environment does not
>>> allow generating core files.
>>>
>>> njoly@lanfeust [syscalls/abort]> ./abort01
>>> abort01 1 TPASS : Test passed
>>> njoly@lanfeust [syscalls/abort]> (ulimit -c 0 && ./abort01)
>>> abort01 1 TCONF : core file size limit must be greater than 0.
>>>
>>> Signed-off-by: Nicolas Joly <njoly@pasteur.fr>
>>
>> Looks ok, but is there any particular reason why you removed the unlink(2) call?
>
> The `unlink("core")' one ?
>
> Well, at least RHEL do use `proc.<pid>' when generating core file
> names ... Not speaking about admins that might have configured it to
> use another scheme.
>
> IMO, relying on a specific name, for a configurable system, is a bad
> idea; and can only lead to problems.
>
> By example, this test from mkdir09.c cannot succeed on most RHEL
> systems:
>
> /* Check for core file in test directory. */
> if (access("core", 0) == 0) {
> tst_resm(TWARN, "\tCore file found in test directory.");
> tst_exit();
> }
Yeah. Perhaps it might be a good idea to integrate a tool into LTP which detects corefile names, like what's described here: http://aplawrence.com/Linux/limit_core_files.html .
Cheers,
-Garrett
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [LTP] abort01 testcase cleanup
2010-07-23 22:03 ` Garrett Cooper
@ 2010-07-23 23:20 ` Nicolas Joly
2010-07-24 0:56 ` Garrett Cooper
0 siblings, 1 reply; 6+ messages in thread
From: Nicolas Joly @ 2010-07-23 23:20 UTC (permalink / raw)
To: Garrett Cooper; +Cc: LTP list
On Fri, Jul 23, 2010 at 03:03:45PM -0700, Garrett Cooper wrote:
> On Jul 23, 2010, at 11:48 AM, Nicolas Joly wrote:
>
> > On Fri, Jul 23, 2010 at 10:56:58AM -0700, Garrett Cooper wrote:
> >> On Fri, Jul 23, 2010 at 10:17 AM, Nicolas Joly <njoly@pasteur.fr> wrote:
> >>>
> >>> Hi,
> >>>
> >>> The attached patch do some cleanup in the abort01 testcase ...
> >>>
> >>> 1) The attempt to remove the generated core is wrong. The hard-coded
> >>> `core' name is bad and the test temporary directory removal already
> >>> take care of this.
> >>>
> >>> 2) Make the test fail gracefully if the running environment does not
> >>> allow generating core files.
> >>>
> >>> njoly@lanfeust [syscalls/abort]> ./abort01
> >>> abort01 1 TPASS : Test passed
> >>> njoly@lanfeust [syscalls/abort]> (ulimit -c 0 && ./abort01)
> >>> abort01 1 TCONF : core file size limit must be greater than 0.
> >>>
> >>> Signed-off-by: Nicolas Joly <njoly@pasteur.fr>
> >>
> >> Looks ok, but is there any particular reason why you removed the unlink(2) call?
> >
> > The `unlink("core")' one ?
> >
> > Well, at least RHEL do use `proc.<pid>' when generating core file
> > names ... Not speaking about admins that might have configured it to
> > use another scheme.
> >
> > IMO, relying on a specific name, for a configurable system, is a bad
> > idea; and can only lead to problems.
> >
> > By example, this test from mkdir09.c cannot succeed on most RHEL
> > systems:
> >
> > /* Check for core file in test directory. */
> > if (access("core", 0) == 0) {
> > tst_resm(TWARN, "\tCore file found in test directory.");
> > tst_exit();
> > }
>
> Yeah. Perhaps it might be a good idea to integrate a tool into LTP which detects corefile names, like what's described here: http://aplawrence.com/Linux/limit_core_files.html .
If there is a real need, why not; but for the current use in syscall
testcases, it seems a little overkill.
testcases/kernel/syscalls/abort/abort01.c
testcases/kernel/syscalls/kill/kill11.c
testcases/kernel/syscalls/mallopt/mallopt01.c
testcases/kernel/syscalls/waitpid/waitpid02.c
testcases/kernel/syscalls/waitpid/waitpid05.c
Remove core files that may have been created during the test
... The temp test directory removal can/do already remove them.
testcases/kernel/syscalls/mkdir/mkdir09.c
testcases/kernel/syscalls/setrlimit/setrlimit01.c
Check that a childs does not have created a core file
... Could be tested from child process status instead.
--
Nicolas Joly
Biological Software and Databanks.
Institut Pasteur, Paris.
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [LTP] abort01 testcase cleanup
2010-07-23 23:20 ` Nicolas Joly
@ 2010-07-24 0:56 ` Garrett Cooper
0 siblings, 0 replies; 6+ messages in thread
From: Garrett Cooper @ 2010-07-24 0:56 UTC (permalink / raw)
To: Nicolas Joly; +Cc: LTP list, Garrett Cooper
On Fri, Jul 23, 2010 at 4:20 PM, Nicolas Joly <njoly@pasteur.fr> wrote:
> On Fri, Jul 23, 2010 at 03:03:45PM -0700, Garrett Cooper wrote:
>> On Jul 23, 2010, at 11:48 AM, Nicolas Joly wrote:
>>
>> > On Fri, Jul 23, 2010 at 10:56:58AM -0700, Garrett Cooper wrote:
>> >> On Fri, Jul 23, 2010 at 10:17 AM, Nicolas Joly <njoly@pasteur.fr> wrote:
>> >>>
>> >>> Hi,
>> >>>
>> >>> The attached patch do some cleanup in the abort01 testcase ...
>> >>>
>> >>> 1) The attempt to remove the generated core is wrong. The hard-coded
>> >>> `core' name is bad and the test temporary directory removal already
>> >>> take care of this.
>> >>>
>> >>> 2) Make the test fail gracefully if the running environment does not
>> >>> allow generating core files.
>> >>>
>> >>> njoly@lanfeust [syscalls/abort]> ./abort01
>> >>> abort01 1 TPASS : Test passed
>> >>> njoly@lanfeust [syscalls/abort]> (ulimit -c 0 && ./abort01)
>> >>> abort01 1 TCONF : core file size limit must be greater than 0.
>> >>>
>> >>> Signed-off-by: Nicolas Joly <njoly@pasteur.fr>
>> >>
>> >> Looks ok, but is there any particular reason why you removed the unlink(2) call?
>> >
>> > The `unlink("core")' one ?
>> >
>> > Well, at least RHEL do use `proc.<pid>' when generating core file
>> > names ... Not speaking about admins that might have configured it to
>> > use another scheme.
>> >
>> > IMO, relying on a specific name, for a configurable system, is a bad
>> > idea; and can only lead to problems.
>> >
>> > By example, this test from mkdir09.c cannot succeed on most RHEL
>> > systems:
>> >
>> > /* Check for core file in test directory. */
>> > if (access("core", 0) == 0) {
>> > tst_resm(TWARN, "\tCore file found in test directory.");
>> > tst_exit();
>> > }
>>
>> Yeah. Perhaps it might be a good idea to integrate a tool into LTP which detects corefile names, like what's described here: http://aplawrence.com/Linux/limit_core_files.html .
>
> If there is a real need, why not; but for the current use in syscall
> testcases, it seems a little overkill.
>
> testcases/kernel/syscalls/abort/abort01.c
> testcases/kernel/syscalls/kill/kill11.c
> testcases/kernel/syscalls/mallopt/mallopt01.c
> testcases/kernel/syscalls/waitpid/waitpid02.c
> testcases/kernel/syscalls/waitpid/waitpid05.c
> Remove core files that may have been created during the test
> ... The temp test directory removal can/do already remove them.
>
> testcases/kernel/syscalls/mkdir/mkdir09.c
> testcases/kernel/syscalls/setrlimit/setrlimit01.c
> Check that a childs does not have created a core file
> ... Could be tested from child process status instead.
It's not required to fix this testcase (and I'll commit this once
I get back home), but it really should be added.
Thanks!
-Garrett
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-07-24 0:56 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-23 17:17 [LTP] abort01 testcase cleanup Nicolas Joly
2010-07-23 17:56 ` Garrett Cooper
2010-07-23 18:48 ` Nicolas Joly
2010-07-23 22:03 ` Garrett Cooper
2010-07-23 23:20 ` Nicolas Joly
2010-07-24 0:56 ` Garrett Cooper
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox