* [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