[PATCH xserver 2/3] Add generalized unit test support using util-macros.

Peter Hutterer peter.hutterer at who-t.net
Tue Mar 15 15:18:31 PDT 2011


On Mon, Mar 14, 2011 at 08:54:23PM -0400, Gaetan Nadon wrote:
> A handful of modules have begun adding unit test programs.
> These macros will help providing a consistent interface which will
> help package builders and developers to manage the functionality.
> 
> XORG_ENABLE_UNIT_TESTS will turn on/off unit testing, regardless
> of how it is implemented. The default (yes/no) can be specified by each
> module. It can be used by itself if glib or -wrap support is not needed.
> 
> XORG_WITH_GLIB will probe the system for glib-2.0. A different version
> can be specified in each module. It will consult XORG_ENABLE_UNIT_TESTS
> but can be used by itself in contexts other then unit testing.
> The default (yes/no) can be specified by each module.
> 
> XORG_LD_WRAP will probe the linker for -wrap support. It will consult
> XORG_ENABLE_UNIT_TESTS but can be used by itself in contexts
> other then unit testing.
> 
> configure options:
>   --enable-unit-tests     Enable building unit test cases (default: auto)
>   --with-glib             UUse GLib library for unit testing (default: auto)

                              ^ typo

Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>

for the series though.

Cheers,
  Peter

> Signed-off-by: Gaetan Nadon <memsize at videotron.ca>
> ---
> 
> 	*** util-macros version 1.13 has been released today.
> 
>  configure.ac         |   54 ++++---------------------------------------------
>  test/Makefile.am     |    6 ++++-
>  test/xi2/Makefile.am |    6 ++++-
>  3 files changed, 15 insertions(+), 51 deletions(-)
> 
> diff --git a/configure.ac b/configure.ac
> index 345c167..b681163 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -32,9 +32,9 @@ AC_CONFIG_SRCDIR([Makefile.am])
>  AM_INIT_AUTOMAKE([foreign dist-bzip2])
>  AM_MAINTAINER_MODE
>  
> -# Require xorg-macros minimum of 1.10 for XORG_CHECK_SGML_DOCTOOLS
> +# Require xorg-macros minimum of 1.13 for XORG_ENABLE_UNIT_TESTS
>  m4_ifndef([XORG_MACROS_VERSION],
> -          [m4_fatal([must install xorg-macros 1.10 or later before running autoconf/autogen])])
> +          [m4_fatal([must install xorg-macros 1.13 or later before running autoconf/autogen])])
>  XORG_MACROS_VERSION(1.10)
>  XORG_DEFAULT_OPTIONS
>  XORG_WITH_DOXYGEN(1.6.1)
> @@ -43,6 +43,9 @@ XORG_ENABLE_DOCS
>  XORG_ENABLE_DEVEL_DOCS
>  XORG_WITH_XMLTO(0.0.20)
>  XORG_WITH_FOP
> +XORG_ENABLE_UNIT_TESTS
> +XORG_WITH_GLIB
> +XORG_LD_WRAP
>  
>  m4_ifndef([XORG_FONT_MACROS_VERSION], [m4_fatal([must install fontutil 1.1 or later before running autoconf/autogen])])
>  XORG_FONT_MACROS_VERSION(1.1)
> @@ -458,9 +461,6 @@ AC_ARG_ENABLE(werror,        AS_HELP_STRING([--enable-werror],
>  AC_ARG_ENABLE(debug,         AS_HELP_STRING([--enable-debug],
>  				  [Enable debugging (default: disabled)]),
>  			        [DEBUGGING=$enableval], [DEBUGGING=no])
> -AC_ARG_ENABLE(unit-tests,    AS_HELP_STRING([--enable-unit-tests],
> -                                  [Enable unit-tests (default: auto)]),
> -                                [UNITTESTS=$enableval], [UNITTESTS=auto])
>  AC_ARG_ENABLE(use-sigio-by-default, AS_HELP_STRING([--enable-use-sigio-by-default]
>    [Enable SIGIO input handlers by default (default: $USE_SIGIO_BY_DEFAULT)]),
>                                  [USE_SIGIO_BY_DEFAULT=$enableval], [])
> @@ -1270,50 +1270,6 @@ if test "x$DEBUGGING" = xyes; then
>  fi
>  AM_CONDITIONAL(DEBUG, [test "x$DEBUGGING" = xyes])
>  
> -# If unittests aren't explicitly disabled, check for required support
> -if test "x$UNITTESTS" != xno ; then
> -       PKG_CHECK_MODULES([GLIB], $LIBGLIB,
> -                         [HAVE_GLIB=yes], [HAVE_GLIB=no])
> -
> -       # Check if linker supports -wrap, passed via compiler flags
> -       # When cross-compiling, reports no, since unit tests run from
> -       # "make check", so would be running on build machine,  not target
> -       AC_MSG_CHECKING([whether the linker supports -wrap])
> -       save_LDFLAGS="$LDFLAGS"
> -       LDFLAGS="$LDFLAGS -Wl,-wrap,exit"
> -       AC_RUN_IFELSE([AC_LANG_PROGRAM([[
> -	void __wrap_exit (int s)
> -	{
> -	    __real_exit (0);
> -	}]],
> -	[[exit (1);]])],
> -                     [linker_can_wrap="yes"],
> -                     [linker_can_wrap="no"],
> -                     [linker_can_wrap="no"])
> -       AC_MSG_RESULT([$linker_can_wrap])
> -       LDFLAGS="$save_LDFLAGS"
> -fi
> -
> -if test "x$UNITTESTS" = xauto; then
> -       if test "x$HAVE_GLIB" = xyes && test "x$linker_can_wrap" = xyes; then
> -           UNITTESTS=yes
> -       else
> -           UNITTESTS=no
> -       fi
> -fi
> -if test "x$UNITTESTS" = xyes; then
> -       if test "x$HAVE_GLIB" = xno; then
> -           AC_MSG_ERROR([glib required to build unit tests])
> -       fi
> -       if test "x$linker_can_wrap" = xno; then
> -           AC_MSG_ERROR([ld -wrap support required to build unit tests])
> -       fi
> -       AC_DEFINE(UNITTESTS, 1, [Enable unit tests])
> -       AC_SUBST([GLIB_LIBS])
> -       AC_SUBST([GLIB_CFLAGS])
> -fi
> -AM_CONDITIONAL(UNITTESTS, [test "x$UNITTESTS" = xyes])
> -
>  AC_DEFINE(XTEST, 1, [Support XTest extension])
>  AC_DEFINE(XSYNC, 1, [Support XSync extension])
>  AC_DEFINE(XCMISC, 1, [Support XCMisc extension])
> diff --git a/test/Makefile.am b/test/Makefile.am
> index be54e5f..34f21d7 100644
> --- a/test/Makefile.am
> +++ b/test/Makefile.am
> @@ -1,4 +1,6 @@
> -if UNITTESTS
> +if ENABLE_UNIT_TESTS
> +if HAVE_GLIB
> +if HAVE_LD_WRAP
>  SUBDIRS= . xi2
>  check_PROGRAMS = xkb input xtest list
>  check_LTLIBRARIES = libxservertest.la
> @@ -35,6 +37,8 @@ libxservertest_la_LIBADD = \
>              $(top_builddir)/os/libos.la \
>              @XORG_LIBS@
>  endif
> +endif
> +endif
>  
>  CLEANFILES=libxservertest.c
>  
> diff --git a/test/xi2/Makefile.am b/test/xi2/Makefile.am
> index d8dc7e9..e197869 100644
> --- a/test/xi2/Makefile.am
> +++ b/test/xi2/Makefile.am
> @@ -1,4 +1,6 @@
> -if UNITTESTS
> +if ENABLE_UNIT_TESTS
> +if HAVE_GLIB
> +if HAVE_LD_WRAP
>  check_PROGRAMS =  \
>  	protocol-xiqueryversion \
>  	protocol-xiquerydevice \
> @@ -49,3 +51,5 @@ protocol_xigetclientpointer_SOURCES=$(COMMON_SOURCES) protocol-xigetclientpointe
>  protocol_xiquerypointer_SOURCES=$(COMMON_SOURCES) protocol-xiquerypointer.c
>  protocol_xiwarppointer_SOURCES=$(COMMON_SOURCES) protocol-xiwarppointer.c
>  endif
> +endif
> +endif
> -- 
> 1.6.0.4
> 
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
> 


More information about the xorg-devel mailing list