From 578795ff9549f680d426879cf19ef6124a51fcc4 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Fri, 8 May 2015 14:35:37 +0100 Subject: lib: Teach igt to handle signal failures gracefully If we see a fatal signal in a subtest, fail. Signed-off-by: Chris Wilson --- lib/igt_core.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'lib/igt_core.h') diff --git a/lib/igt_core.h b/lib/igt_core.h index 3a9e5822..b15d9ffe 100644 --- a/lib/igt_core.h +++ b/lib/igt_core.h @@ -107,7 +107,7 @@ void __igt_fixture_end(void) __attribute__((noreturn)); #define igt_fixture for (int igt_tokencat(__tmpint,__LINE__) = 0; \ igt_tokencat(__tmpint,__LINE__) < 1 && \ __igt_fixture() && \ - (setjmp(igt_subtest_jmpbuf) == 0); \ + (sigsetjmp(igt_subtest_jmpbuf, 1) == 0); \ igt_tokencat(__tmpint,__LINE__) ++, \ __igt_fixture_complete()) @@ -164,14 +164,14 @@ bool __igt_run_subtest(const char *subtest_name); * This is a simpler version of igt_subtest_f() */ #define igt_subtest(name) for (; __igt_run_subtest((name)) && \ - (setjmp(igt_subtest_jmpbuf) == 0); \ + (sigsetjmp(igt_subtest_jmpbuf, 1) == 0); \ igt_success()) #define __igt_subtest_f(tmp, format...) \ for (char tmp [256]; \ snprintf( tmp , sizeof( tmp ), \ format), \ __igt_run_subtest( tmp ) && \ - (setjmp(igt_subtest_jmpbuf) == 0); \ + (sigsetjmp(igt_subtest_jmpbuf, 1) == 0); \ igt_success()) /** -- cgit v1.2.3