[tor-commits] [tor/master] Use setrlimit instead of ulimit -c in backtrace tests

dgoulet at torproject.org dgoulet at torproject.org
Wed Feb 20 17:07:48 UTC 2019


commit b7ad8bcaad093a5d043c63f30c196c52741830d2
Author: rl1987 <rl1987 at sdf.lonestar.org>
Date:   Wed Feb 13 15:50:09 2019 +0200

    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(-)

diff --git a/changes/bug29061 b/changes/bug29061
new file mode 100644
index 000000000..58fc4f22e
--- /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 df8bcb8ed..312905a4e 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 0c15a02ee..08b08ba42 100644
--- a/src/test/test_bt_cl.c
+++ b/src/test/test_bt_cl.c
@@ -4,6 +4,9 @@
 #include "orconfig.h"
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef HAVE_SYS_RESOURCE_H
+#include <sys/resource.h>
+#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");





More information about the tor-commits mailing list