[PATCH 3/6] Enable memory checking during unit testing

Jeremy Huddleston jeremyhu at apple.com
Sat Oct 29 00:19:17 PDT 2011


For darwin, please also add:

DYLD_INSERT_LIBRARIES=/usr/lib/libgmalloc.dylib

On Oct 28, 2011, at 17:34, Alan Coopersmith wrote:

> Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
> ---
> configure.ac         |   16 ++++++++++++++++
> test/Makefile.am     |    1 +
> test/xi2/Makefile.am |    1 +
> 3 files changed, 18 insertions(+), 0 deletions(-)
> 
> diff --git a/configure.ac b/configure.ac
> index 63d59f9..2d35046 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -93,6 +93,22 @@ if  test "x$GCC" = xyes ; then
>     XSERVER_CFLAGS="$XSERVER_CFLAGS -fno-strict-aliasing"
> fi
> 
> +# Memory checking support (used in unit tests)
> +case $host_os in
> +     solaris*)
> +        AC_CHECK_LIB([umem], [umem_alloc],
> +            [MALLOC_DEBUG_ENV='LD_PRELOAD=libumem.so UMEM_DEBUG=default'])
> +        ;;
> +     *-gnu*) # GNU libc - Value is used as a single byte bit pattern,
> +        # both directly and inverted, so should not be 0 or 255.
> +        MALLOC_DEBUG_ENV='MALLOC_PERTURB_=15'
> +        ;;
> +     *bsd*|darwin*)
> +        MALLOC_DEBUG_ENV='MallocPreScribble=1 MallocScribble=1'
> +        ;;
> +esac
> +AC_SUBST([MALLOC_DEBUG_ENV])
> +
> dnl Check for dtrace program (needed to build Xserver dtrace probes)
> dnl Also checks for <sys/sdt.h>, since some Linux distros have an 
> dnl ISDN trace program named dtrace
> diff --git a/test/Makefile.am b/test/Makefile.am
> index 689dd7f..6c6ca9a 100644
> --- a/test/Makefile.am
> +++ b/test/Makefile.am
> @@ -5,6 +5,7 @@ noinst_PROGRAMS = xkb input xtest list misc fixes xfree86
> check_LTLIBRARIES = libxservertest.la
> 
> TESTS=$(noinst_PROGRAMS)
> +TESTS_ENVIRONMENT = $(MALLOC_DEBUG_ENV)
> 
> AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@
> INCLUDES = $(XORG_INCS) -I$(top_srcdir)/hw/xfree86/parser \
> diff --git a/test/xi2/Makefile.am b/test/xi2/Makefile.am
> index b15d8ba..1d0db73 100644
> --- a/test/xi2/Makefile.am
> +++ b/test/xi2/Makefile.am
> @@ -13,6 +13,7 @@ noinst_PROGRAMS =  \
>         protocol-eventconvert
> 
> TESTS=$(noinst_PROGRAMS)
> +TESTS_ENVIRONMENT = $(MALLOC_DEBUG_ENV)
> 
> AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@
> INCLUDES = @XORG_INCS@
> -- 
> 1.7.3.2
> 
> _______________________________________________
> 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