[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