diff options
author | Rémi Denis-Courmont <remi@remlab.net> | 2023-11-16 17:45:02 +0200 |
---|---|---|
committer | Rémi Denis-Courmont <remi@remlab.net> | 2023-11-23 18:57:18 +0200 |
commit | 286d6742218ba0235c32876b50bf593cb1986353 (patch) | |
tree | 1b27c39c3d4febb16ad79e5b34d2c84d67e6d4de | |
parent | 0fa421c8f19109aa26d902d2a33d2f46e57f378b (diff) | |
download | ffmpeg-286d6742218ba0235c32876b50bf593cb1986353.tar.gz |
checkasm: add helper to report a fatal signal
-rw-r--r-- | tests/checkasm/checkasm.c | 15 | ||||
-rw-r--r-- | tests/checkasm/checkasm.h | 1 |
2 files changed, 12 insertions, 4 deletions
diff --git a/tests/checkasm/checkasm.c b/tests/checkasm/checkasm.c index 708119e7c6..c67cf58922 100644 --- a/tests/checkasm/checkasm.c +++ b/tests/checkasm/checkasm.c @@ -23,10 +23,8 @@ #include "config.h" #include "config_components.h" -#if CONFIG_LINUX_PERF -# ifndef _GNU_SOURCE -# define _GNU_SOURCE // for syscall (performance monitoring API) -# endif +#ifndef _GNU_SOURCE +# define _GNU_SOURCE // for syscall (performance monitoring API), strsignal() #endif #include <stdarg.h> @@ -863,6 +861,15 @@ void checkasm_fail_func(const char *msg, ...) } } +void checkasm_fail_signal(int signum) +{ +#ifdef __GLIBC__ + checkasm_fail_func("fatal signal %d: %s", signum, strsignal(signum)); +#else + checkasm_fail_func("fatal signal %d", signum); +#endif +} + /* Get the benchmark context of the current function */ CheckasmPerf *checkasm_get_perf_context(void) { diff --git a/tests/checkasm/checkasm.h b/tests/checkasm/checkasm.h index cfea868ff1..8a1df43ab6 100644 --- a/tests/checkasm/checkasm.h +++ b/tests/checkasm/checkasm.h @@ -102,6 +102,7 @@ struct CheckasmPerf; void *checkasm_check_func(void *func, const char *name, ...) av_printf_format(2, 3); int checkasm_bench_func(void); void checkasm_fail_func(const char *msg, ...) av_printf_format(1, 2); +void checkasm_fail_signal(int signum); struct CheckasmPerf *checkasm_get_perf_context(void); void checkasm_report(const char *name, ...) av_printf_format(1, 2); |