Skip tests if backtrace support not compiled-in

FreeBSD needs -lexecinfo to fully support
backtrace reporting.
This commit is contained in:
Marcin Cieślak 2015-09-24 22:32:51 +00:00 committed by Nick Mathewson
parent 4ce9b8f1ec
commit 5c95762ec6
2 changed files with 11 additions and 1 deletions

View File

@ -3,6 +3,7 @@
exitcode=0
"${builddir:-.}/src/test/test-bt-cl" backtraces || exit 77
"${builddir:-.}/src/test/test-bt-cl" assert | "${PYTHON:-python}" "${abs_top_srcdir:-.}/src/test/bt_test.py" || exitcode=1
"${builddir:-.}/src/test/test-bt-cl" crash | "${PYTHON:-python}" "${abs_top_srcdir:-.}/src/test/bt_test.py" || exitcode=1

View File

@ -84,15 +84,24 @@ main(int argc, char **argv)
if (argc < 2) {
puts("I take an argument. It should be \"assert\" or \"crash\" or "
"\"none\"");
"\"backtraces\" or \"none\"");
return 1;
}
#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");
return 77;
#endif
if (!strcmp(argv[1], "assert")) {
crashtype = 1;
} else if (!strcmp(argv[1], "crash")) {
crashtype = 0;
} else if (!strcmp(argv[1], "none")) {
crashtype = -1;
} else if (!strcmp(argv[1], "backtraces")) {
return 0;
} else {
puts("Argument should be \"assert\" or \"crash\" or \"none\"");
return 1;