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)); diff --git a/contrib/netbsd-tests/lib/libc/sys/t_wait.c b/contrib/netbsd-tests/lib/libc/sys/t_wait.c index 91bbaf1f3dd1..ce060da8937e 100644 --- a/contrib/netbsd-tests/lib/libc/sys/t_wait.c +++ b/contrib/netbsd-tests/lib/libc/sys/t_wait.c @@ -31,6 +31,10 @@ #include __RCSID("$NetBSD: t_wait.c,v 1.8 2017/01/13 19:28:55 christos Exp $"); +#ifdef __FreeBSD__ +#include +#include +#endif #include #include @@ -147,6 +151,14 @@ ATF_TC_BODY(wait6_coredumped, tc) pid_t pid; static const struct rlimit rl = { RLIM_INFINITY, RLIM_INFINITY }; +#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 + switch (pid = fork()) { case 0: ATF_REQUIRE(setrlimit(RLIMIT_CORE, &rl) == 0);