Message ID | 1431956251-26746-1-git-send-email-derek.j.morton@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, May 18, 2015 at 02:37:31PM +0100, Derek Morton wrote: > fatal_signal_handler() was trapping fatal errors but not > flagging the test as failing or setting an exit code. > The result was that the test would return Ok or Skipped > depending on what the other subtests did even though one > of the subtests had segfaulted. > > Signed-off-by: Derek Morton <derek.j.morton@intel.com> This isn't the first trouble with our signal handler and test results. Can you perhaps write a library unit test for this bug? They're in lib/tests and executed with make check. Thanks, Daniel > --- > lib/igt_core.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/lib/igt_core.c b/lib/igt_core.c > index 8a1a249..b29f7e3 100644 > --- a/lib/igt_core.c > +++ b/lib/igt_core.c > @@ -1433,8 +1433,15 @@ static void fatal_sig_handler(int sig) > igt_assert_eq(write(STDERR_FILENO, ".\n", 2), 2); > } > > - if (in_subtest && crash_signal(sig)) > + if (in_subtest && crash_signal(sig)) { > + /* Linux standard to return exit code as 128 + signal */ > + if (!failed_one) > + igt_exitcode = 128 + sig; > + > + failed_one = true; > + > exit_subtest("CRASH"); > + } > break; > } > > -- > 1.9.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
I will take a look and submit a test as a separate patch. //Derek -----Original Message----- From: Daniel Vetter [mailto:daniel.vetter@ffwll.ch] On Behalf Of Daniel Vetter Sent: Monday, May 18, 2015 4:14 PM To: Morton, Derek J Cc: intel-gfx@lists.freedesktop.org; Wood, Thomas Subject: Re: [Intel-gfx] [PATCH i-g-t] lib/igt_core.c: Flag the test as failing after a segfault On Mon, May 18, 2015 at 02:37:31PM +0100, Derek Morton wrote: > fatal_signal_handler() was trapping fatal errors but not flagging the > test as failing or setting an exit code. > The result was that the test would return Ok or Skipped depending on > what the other subtests did even though one of the subtests had > segfaulted. > > Signed-off-by: Derek Morton <derek.j.morton@intel.com> This isn't the first trouble with our signal handler and test results. Can you perhaps write a library unit test for this bug? They're in lib/tests and executed with make check. Thanks, Daniel > --- > lib/igt_core.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/lib/igt_core.c b/lib/igt_core.c index 8a1a249..b29f7e3 > 100644 > --- a/lib/igt_core.c > +++ b/lib/igt_core.c > @@ -1433,8 +1433,15 @@ static void fatal_sig_handler(int sig) > igt_assert_eq(write(STDERR_FILENO, ".\n", 2), 2); > } > > - if (in_subtest && crash_signal(sig)) > + if (in_subtest && crash_signal(sig)) { > + /* Linux standard to return exit code as 128 + signal */ > + if (!failed_one) > + igt_exitcode = 128 + sig; > + > + failed_one = true; > + > exit_subtest("CRASH"); > + } > break; > } > > -- > 1.9.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch
diff --git a/lib/igt_core.c b/lib/igt_core.c index 8a1a249..b29f7e3 100644 --- a/lib/igt_core.c +++ b/lib/igt_core.c @@ -1433,8 +1433,15 @@ static void fatal_sig_handler(int sig) igt_assert_eq(write(STDERR_FILENO, ".\n", 2), 2); } - if (in_subtest && crash_signal(sig)) + if (in_subtest && crash_signal(sig)) { + /* Linux standard to return exit code as 128 + signal */ + if (!failed_one) + igt_exitcode = 128 + sig; + + failed_one = true; + exit_subtest("CRASH"); + } break; }
fatal_signal_handler() was trapping fatal errors but not flagging the test as failing or setting an exit code. The result was that the test would return Ok or Skipped depending on what the other subtests did even though one of the subtests had segfaulted. Signed-off-by: Derek Morton <derek.j.morton@intel.com> --- lib/igt_core.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)