From b7ad8bcaad093a5d043c63f30c196c52741830d2 Mon Sep 17 00:00:00 2001 From: rl1987 Date: Wed, 13 Feb 2019 15:50:09 +0200 Subject: [PATCH] Use setrlimit instead of ulimit -c in backtrace tests --- changes/bug29061 | 4 ++++ src/test/test_bt.sh | 2 -- src/test/test_bt_cl.c | 8 ++++++++ 3 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 changes/bug29061 diff --git a/changes/bug29061 b/changes/bug29061 new file mode 100644 index 0000000000..58fc4f22e9 --- /dev/null +++ b/changes/bug29061 @@ -0,0 +1,4 @@ + o Minor bugfixes (testing): + - Call setrlimit() to disable core dumps in test_bt_cl.c instead of + using `ulimit -c` in test_bt.sh, which violates POSIX shell + compatibility. Fixes bug 29061; bugfix on 0.3.5.1-alpha. diff --git a/src/test/test_bt.sh b/src/test/test_bt.sh index df8bcb8eda..312905a4e2 100755 --- a/src/test/test_bt.sh +++ b/src/test/test_bt.sh @@ -3,8 +3,6 @@ exitcode=0 -ulimit -c 0 - export ASAN_OPTIONS="handle_segv=0:allow_user_segv_handler=1" "${builddir:-.}/src/test/test-bt-cl" backtraces || exit $? "${builddir:-.}/src/test/test-bt-cl" assert 2>&1 | "${PYTHON:-python}" "${abs_top_srcdir:-.}/src/test/bt_test.py" || exitcode="$?" diff --git a/src/test/test_bt_cl.c b/src/test/test_bt_cl.c index 0c15a02ee4..08b08ba423 100644 --- a/src/test/test_bt_cl.c +++ b/src/test/test_bt_cl.c @@ -4,6 +4,9 @@ #include "orconfig.h" #include #include +#ifdef HAVE_SYS_RESOURCE_H +#include +#endif /* To prevent 'assert' from going away. */ #undef TOR_COVERAGE @@ -88,6 +91,11 @@ main(int argc, char **argv) return 1; } +#ifdef HAVE_SYS_RESOURCE_H + struct rlimit rlim = { .rlim_cur = 0, .rlim_max = 0 }; + setrlimit(RLIMIT_CORE, &rlim); +#endif + #if !(defined(HAVE_EXECINFO_H) && defined(HAVE_BACKTRACE) && \ defined(HAVE_BACKTRACE_SYMBOLS_FD) && defined(HAVE_SIGACTION)) puts("Backtrace reporting is not supported on this platform"); -- 2.11.4.GIT