From 6dfb9460caf3466b23b2a24c7ac91ebbb0747226 Mon Sep 17 00:00:00 2001 From: John Baldwin Date: Tue, 16 May 2017 18:42:44 +0000 Subject: Skip tests depending on coredumps if coredumps are disabled via kern.coredump. The kern.coredump sysctl can be set to 0 to disable coredumps. Skip the 'status_coredump' and 'wait6_coredumped' tests if this sysctl is set to 0 rather than reporting a failure. Submitted by: brooks Reviewed by: ngie Obtained from: CheriBSD Sponsored by: DARPA / AFRL Differential Revision: https://reviews.freebsd.org/D10665 --- contrib/atf/atf-c/detail/process_test.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'contrib/atf') diff --git a/contrib/atf/atf-c/detail/process_test.c b/contrib/atf/atf-c/detail/process_test.c index 5ae5565b6a2b..82a911df68cd 100644 --- a/contrib/atf/atf-c/detail/process_test.c +++ b/contrib/atf/atf-c/detail/process_test.c @@ -26,6 +26,9 @@ #include "atf-c/detail/process.h" #include +#ifdef __FreeBSD__ +#include +#endif #include #include #include @@ -667,6 +670,14 @@ ATF_TC_BODY(status_coredump, tc) atf_tc_skip("Cannot unlimit the core file size; check limits " "manually"); +#ifdef __FreeBSD__ + int coredump_enabled; + size_t ce_len = sizeof(coredump_enabled); + if (sysctlbyname("kern.coredump", &coredump_enabled, &ce_len, NULL, + 0) == 0 && !coredump_enabled) + atf_tc_skip("Coredumps disabled"); +#endif + const int rawstatus = fork_and_wait_child(child_sigquit); atf_process_status_t s; RE(atf_process_status_init(&s, rawstatus)); -- cgit v1.2.3