Bug #52385 mytap should not bail out on test failures
Submitted: 26 Mar 2010 8:39 Modified: 4 Aug 2010 19:56
Reporter: Tor Didriksen Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Tests Severity:S3 (Non-critical)
Version: OS:Any
Assigned to: Tor Didriksen CPU Architecture:Any

[26 Mar 2010 8:39] Tor Didriksen
Description:
If a unit test throws a signal, mytap will catch it and print
Bail out
to the output. This signals the perl test runner to abort all further testing.

A better approach would be to invoke the stack walker (if available)
and to continue testing.

How to repeat:
We currently have this test failing in pushbuild
mytap/t/basic-t........ok
        2/5 skipped: various reasons
mysys/my_atomic-t......FAILED--Further testing stopped: Signal 11 thrown
+ echo '[SOURCEBUILDER] FAIL see log'

See e.g.

http://pb2.norway.sun.com/web.py?action=archive_download&archive_id=1553577&pretty=please

Suggested fix:
static void
handle_core_signal(int signo)
{
  /* BAIL_OUT("Signal %d thrown", signo); */
#ifdef HAVE_STACKTRACE
  fprintf(stderr, "Signal %d thrown, attempting backtrace.\n", signo);
  my_print_stacktrace(NULL, 0);
#endif
  signal(signo, SIG_DFL);
  raise(signo);
  _exit(1);
}
[9 Apr 2010 13:34] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/105325

3144 Tor Didriksen	2010-04-09
      Bug#52385 mytap should not bail out on test failures
      
      In the mytap signal handler:
      print stack trace (if possible) and exit, rather than terminating all tests.
     @ CMakeLists.txt
        Add unittest/examples
     @ unittest/examples/CMakeLists.txt
        Simplify targets.
     @ unittest/examples/Makefile.am
        Add dependency on libmysys (for stack trace)
     @ unittest/examples/core-t.c
        Update comment.
     @ unittest/mytap/CMakeLists.txt
        Add dependency on libmysys (for stack trace)
     @ unittest/mytap/tap.c
        New signal handler.
[21 Apr 2010 8:40] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/106199

3148 Tor Didriksen	2010-04-21
      Bug#52385 mytap should not bail out on test failures
      
      In the mytap signal handler:
      print stack trace (if possible) and exit, rather than terminating all tests.
     @ CMakeLists.txt
        Add unittest/examples
     @ unittest/examples/CMakeLists.txt
        Simplify targets.
     @ unittest/examples/Makefile.am
        Add dependency on libmysys (for stack trace)
     @ unittest/examples/core-t.c
        Update comment.
     @ unittest/mytap/CMakeLists.txt
        Add dependency on libmysys (for stack trace)
     @ unittest/mytap/tap.c
        New signal handler.
[28 Apr 2010 12:43] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/106814

3159 Tor Didriksen	2010-04-28
      Bug#52385 mytap should not bail out on test failures
      
      In the mytap signal handler:
      print stack trace (if possible) and exit, rather than terminating all tests.
     @ CMakeLists.txt
        Add unittest/examples
     @ unittest/examples/CMakeLists.txt
        Simplify targets.
     @ unittest/examples/Makefile.am
        Add dependency on libmysys (for stack trace)
     @ unittest/examples/core-t.c
        Update comment.
     @ unittest/mytap/CMakeLists.txt
        Add dependency on libmysys (for stack trace)
     @ unittest/mytap/t/Makefile.am
        Add dependency on libmysys (for stack trace)
     @ unittest/mytap/tap.c
        New signal handler.
[29 Apr 2010 11:47] Tor Didriksen
Pushed to
bzr+ssh://bk-internal.mysql.com/bzrroot/server/mysql-next-mr-bugfixing/
bzr+ssh://bk-internal.mysql.com/bzrroot/server/mysql-6.0-codebase-bugfixing/
[30 Apr 2010 14:27] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/107099

3163 Tor Didriksen	2010-04-30
      Bug#52385 mytap should not bail out on test failures
      Post push fix: some library dependencies not maintained by libtool on all platforms.
[1 May 2010 10:06] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/107135

3856 Tor Didriksen	2010-05-01 [merge]
      merge from next-mr-bugfixing:
      Bug#52385 mytap should not bail out on test failures
      Post push fix: some library dependencies not maintained by libtool on all platforms.
[7 May 2010 9:21] Bugs System
Pushed into 6.0.14-alpha (revid:alik@sun.com-20100507091908-vqyhpwf2km0aokno) (version source revid:alik@sun.com-20100507091737-12vceffs11elb25g) (merge vers: 6.0.14-alpha) (pib:16)
[7 May 2010 9:23] Bugs System
Pushed into mysql-next-mr (revid:alik@sun.com-20100507091823-nzao4h3qosau4tin) (version source revid:alik@sun.com-20100507091720-ib9r8uny2aeazvas) (pib:16)
[8 May 2010 16:42] Paul DuBois
Changes to test suite. No changelog entry needed.
[4 Aug 2010 8:03] Bugs System
Pushed into mysql-trunk 5.6.1-m4 (revid:alik@ibmvm-20100804080001-bny5271e65xo34ig) (version source revid:alik@sun.com-20100507093958-2y0wy6svnc3zfgqb) (merge vers: 5.6.99-m4) (pib:18)
[4 Aug 2010 8:20] Bugs System
Pushed into mysql-trunk 5.6.1-m4 (revid:alik@ibmvm-20100804081533-c1d3rbipo9e8rt1s) (version source revid:alik@sun.com-20100507093958-2y0wy6svnc3zfgqb) (merge vers: 5.6.99-m4) (pib:18)
[4 Aug 2010 19:56] Paul DuBois
Changes to test suite. No changelog entry needed.