[libvirt] [PATCHv2] build: add configure option to disable gnulib tests
Peter Krempa
pkrempa at redhat.com
Mon Aug 12 12:36:12 UTC 2013
On 08/02/13 23:08, Eric Blake wrote:
> The gnulib testsuite is relatively stable - the only times it is
> likely to have a test change from pass to fail is on a gnulib
> submodule update or a major system change (such as moving from
> Fedora 18 to 19, or other large change to libc). While it is an
> important test for end users on arbitrary machines (to make sure
> that the portability glue works for their machine), it mostly
> wastes time for development testing (as most developers aren't
> making any of the major changes that would cause gnulib tests
> to alter behavior). Thus, it pays to make the tests optional
> at configure time, defaulting to off for development, on for
> tarballs, with autobuilders requesting it to be on. It also
> helps to allow a make-time override, via VIR_TEST_EXPENSIVE=[01]
> (much the way automake sets up V=[01] for overriding the configure
> time default of how verbose to be).
>
> Automake has some pretty hard-coded magic with regards to the
> TESTS variable; I had quite a job figuring out how to keep
> 'make distcheck' passing regardless of the configure option
> setting in use, while still disabling the tests at runtime
> when I did not configure them on and did not use the override
> variable. Thankfully, we require GNU make, which lets me
> hide some information from Automake's magic handling of TESTS.
>
> * bootstrap.conf (bootstrap_epilogue): Munge gnulib test variable.
> * configure.ac (--enable-expensive-tests): Add new enable switch.
> (VIR_TEST_EXPENSIVE_DEFAULT, WITH_EXPENSIVE_TESTS): Set new
> witnesses.
> * gnulib/tests/Makefile.am (TESTS): Make tests conditional on
> configure settings and the VIR_TEST_EXPENSIVE variable.
> * tests/Makefile.am (TESTS_ENVIRONMENT): Expose VIR_TEST_EXPENSIVE
> to all tests.
> * autobuild.sh: Enable all tests during autobuilds.
> * libvirt.spec.in (%configure): Likewise.
> * mingw-libvirt.spec.in (%mingw_configure): Likewise.
> * docs/hacking.html.in: Document the option.
> * HACKING: Regenerate.
>
> Signed-off-by: Eric Blake <eblake at redhat.com>
> ---
>
> v2: Change the configure name from --enable-gnulib-tests
> to --enable-expensive-tests; make VIR_TEST_EXPENSIVE=0
> work to give a one-shot disable of tests at make time;
> export the configure default on to all tests
>
> HACKING | 9 +++++++++
> autobuild.sh | 3 +++
> bootstrap.conf | 3 ++-
> configure.ac | 21 +++++++++++++++++++++
> docs/hacking.html.in | 12 ++++++++++++
> gnulib/tests/Makefile.am | 15 ++++++++++++++-
> libvirt.spec.in | 1 +
> mingw-libvirt.spec.in | 4 ++--
> tests/Makefile.am | 2 ++
> 9 files changed, 66 insertions(+), 4 deletions(-)
>
ACK.
Peter
More information about the libvir-list
mailing list