Add parameter to allow enabling/disabling selftests via configure
authorSergio Durigan Junior <sergiodj@redhat.com>
Mon, 17 Sep 2018 19:58:55 +0000 (15:58 -0400)
committerSergio Durigan Junior <sergiodj@redhat.com>
Wed, 10 Oct 2018 20:23:56 +0000 (16:23 -0400)
commit8ecfd7bd4acd69213c06fac6de9af38299123547
tree2c3055edaaac0053f0403713cbbbbe5e6a01c4b3
parent33b031ce7a9b8b1b7c729518af965b7cb70a1cd6
Add parameter to allow enabling/disabling selftests via configure

This is a follow-up of:

  https://sourceware.org/ml/gdb-patches/2018-08/msg00347.html

Instead of going throttle and always enabling our selftests (even in
non-development builds), this patch is a bit more conservative and
introduces a configure option ("--enable-unit-tests") that allows the
user to choose whether she wants unit tests in the build or not.  Note
that the current behaviour is retained: if no option is provided, GDB
will have selftests included in a development build, and will *not*
have selftests included in a non-development build.

The rationale for having this option is still the same: due to the
many racy testcases and random failures we see when running the GDB
testsuite, it is unfortunately not possible to perform a full test
when one is building a downstream package.  As the Fedora GDB
maintainer and one of the Debian GDB uploaders, I feel like this
situation could be improved by, at least, executing our selftests
after the package has been built.

This patch introduces no regressions to our build.

OK?

gdb/ChangeLog:
2018-10-10  Sergio Durigan Junior  <sergiodj@redhat.com>
    Simon Marchi <simark@simark.ca>

* README (`configure' options): Add documentation for new
"--enable-unit-tests" option.
* acinclude.m4: Include "selftest.m4".
* configure: Regenerate.
* configure.ac: Use "GDB_AC_SELFTEST".
* maint.c (maintenance_selftest): Update message informing
that selftests have been disabled.
(maintenance_info_selftests): Likewise.
* selftest.m4: New file.

gdb/gdbserver/ChangeLog:
2018-10-10  Sergio Durigan Junior  <sergiodj@redhat.com>
    Simon Marchi <simark@simark.ca>

* acinclude.m4: Include "../selftest.m4".
* configure: Regenerate.
* configure.ac: Use "GDB_AC_SELFTEST".
* configure.srv: Use "$enable_unittests" instead of
"$development" when checking whether unit tests have been
enabled.
* server.c (captured_main): Update message informing that
selftests have been disabled.

gdb/testsuite/ChangeLog:
2018-10-10  Sergio Durigan Junior  <sergiodj@redhat.com>

* gdb.gdb/unittest.exp: Update expected message informing that
selftests have been disabled.
* gdb.server/unittest.exp: Likewise.

squash! Add parameter to allow enabling/disabling selftests via configure
16 files changed:
gdb/ChangeLog
gdb/README
gdb/acinclude.m4
gdb/configure
gdb/configure.ac
gdb/gdbserver/ChangeLog
gdb/gdbserver/acinclude.m4
gdb/gdbserver/configure
gdb/gdbserver/configure.ac
gdb/gdbserver/configure.srv
gdb/gdbserver/server.c
gdb/maint.c
gdb/selftest.m4 [new file with mode: 0644]
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.gdb/unittest.exp
gdb/testsuite/gdb.server/unittest.exp