From ab5baafb4994bda219d87f6c15b562a9f24a203a Mon Sep 17 00:00:00 2001 From: Daniel Vetter Date: Wed, 13 Feb 2019 11:35:43 +0100 Subject: lib/tests: Drop NIH exit status handling Spotted by Chris. Cc: Chris Wilson Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter --- lib/tests/igt_assert.c | 9 +++------ lib/tests/igt_segfault.c | 8 ++++---- lib/tests/igt_simulation.c | 39 ++++++++++++++++++++++++--------------- 3 files changed, 31 insertions(+), 25 deletions(-) (limited to 'lib/tests') diff --git a/lib/tests/igt_assert.c b/lib/tests/igt_assert.c index 306b1fb8..0082fda1 100644 --- a/lib/tests/igt_assert.c +++ b/lib/tests/igt_assert.c @@ -79,10 +79,7 @@ static int do_fork(void) errno == EINTR) ; - if(WIFSIGNALED(status)) - return WTERMSIG(status) + 128; - - return WEXITSTATUS(status); + return status; } } @@ -161,7 +158,7 @@ igt_main test_to_run = test_cmpint_negative; ret = do_fork(); igt_subtest("igt_cmpint_negative") - internal_assert(ret == IGT_EXIT_FAILURE); + internal_assert(WEXITSTATUS(ret) == IGT_EXIT_FAILURE); igt_subtest("igt_assert_fd") test_fd(); @@ -169,5 +166,5 @@ igt_main test_to_run = test_fd_negative; ret = do_fork(); igt_subtest("igt_assert_fd_negative") - internal_assert(ret == IGT_EXIT_FAILURE); + internal_assert(WEXITSTATUS(ret) == IGT_EXIT_FAILURE); } diff --git a/lib/tests/igt_segfault.c b/lib/tests/igt_segfault.c index d07677da..86fee535 100644 --- a/lib/tests/igt_segfault.c +++ b/lib/tests/igt_segfault.c @@ -116,20 +116,20 @@ int main(int argc, char **argv) runc=false; igt_info("Simple test.\n"); fflush(stdout); - internal_assert(do_fork() == SIGSEGV + 128); + internal_assert(WTERMSIG(do_fork()) == SIGSEGV); /* Test crash in a single subtest is reported */ simple = false; igt_info("Single subtest.\n"); fflush(stdout); - internal_assert(do_fork() == SIGSEGV + 128); + internal_assert(WTERMSIG(do_fork()) == SIGSEGV); /* Test crash in a subtest following a pass is reported */ simple = false; runa=true; igt_info("Passing then crashing subtest.\n"); fflush(stdout); - internal_assert(do_fork() == SIGSEGV + 128); + internal_assert(WTERMSIG(do_fork()) == SIGSEGV); /* Test crash in a subtest preceeding a pass is reported */ simple = false; @@ -137,7 +137,7 @@ int main(int argc, char **argv) runc=true; igt_info("Crashing then passing subtest.\n"); fflush(stdout); - internal_assert(do_fork() == SIGSEGV + 128); + internal_assert(WTERMSIG(do_fork()) == SIGSEGV); return 0; } diff --git a/lib/tests/igt_simulation.c b/lib/tests/igt_simulation.c index 32830ba7..2efccac4 100644 --- a/lib/tests/igt_simulation.c +++ b/lib/tests/igt_simulation.c @@ -99,7 +99,7 @@ static int do_fork(void) internal_assert(WIFEXITED(status)); - return WEXITSTATUS(status); + return status; } } @@ -108,10 +108,10 @@ int main(int argc, char **argv) /* simple tests */ simple = true; internal_assert(setenv("INTEL_SIMULATION", "1", 1) == 0); - internal_assert(do_fork() == IGT_EXIT_SKIP); + internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SKIP); internal_assert(setenv("INTEL_SIMULATION", "0", 1) == 0); - internal_assert(do_fork() == IGT_EXIT_SUCCESS); + internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SUCCESS); /* subtests, list mode */ simple = false; @@ -119,25 +119,29 @@ int main(int argc, char **argv) in_fixture = false; internal_assert(setenv("INTEL_SIMULATION", "1", 1) == 0); - internal_assert(do_fork() == IGT_EXIT_SUCCESS); + internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SUCCESS); internal_assert(setenv("INTEL_SIMULATION", "0", 1) == 0); - internal_assert(do_fork() == IGT_EXIT_SUCCESS); + internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SUCCESS); in_fixture = true; internal_assert(setenv("INTEL_SIMULATION", "1", 1) == 0); - internal_assert(do_fork() == IGT_EXIT_SUCCESS); + internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SUCCESS); + internal_assert(setenv("INTEL_SIMULATION", "0", 1) == 0); - internal_assert(do_fork() == IGT_EXIT_SUCCESS); + internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SUCCESS); + in_fixture = false; in_subtest = true; internal_assert(setenv("INTEL_SIMULATION", "1", 1) == 0); - internal_assert(do_fork() == IGT_EXIT_SUCCESS); + internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SUCCESS); + internal_assert(setenv("INTEL_SIMULATION", "0", 1) == 0); - internal_assert(do_fork() == IGT_EXIT_SUCCESS); + internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SUCCESS); + /* subtest, run mode */ simple = false; @@ -145,25 +149,30 @@ int main(int argc, char **argv) in_fixture = false; internal_assert(setenv("INTEL_SIMULATION", "1", 1) == 0); - internal_assert(do_fork() == IGT_EXIT_SKIP); + internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SKIP); internal_assert(setenv("INTEL_SIMULATION", "0", 1) == 0); - internal_assert(do_fork() == IGT_EXIT_SUCCESS); + internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SUCCESS); + in_fixture = true; internal_assert(setenv("INTEL_SIMULATION", "1", 1) == 0); - internal_assert(do_fork() == IGT_EXIT_SKIP); + internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SKIP); + internal_assert(setenv("INTEL_SIMULATION", "0", 1) == 0); - internal_assert(do_fork() == IGT_EXIT_SUCCESS); + internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SUCCESS); + in_fixture = false; in_subtest = true; internal_assert(setenv("INTEL_SIMULATION", "1", 1) == 0); - internal_assert(do_fork() == IGT_EXIT_SKIP); + internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SKIP); + internal_assert(setenv("INTEL_SIMULATION", "0", 1) == 0); - internal_assert(do_fork() == IGT_EXIT_SUCCESS); + internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SUCCESS); + return 0; } -- cgit v1.2.3