From f2dc1f67043eb18f781d3016d4a3ea38eb72836a Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Tue, 25 Feb 2014 17:24:58 -0700 Subject: [PATCH] build: avoid ld_preload tests on mingw Running ./autobuild.sh complained during the mingw cross-compile: CC libvirportallocatormock_la-virportallocatortest.lo ../../tests/virportallocatortest.c:32:20: fatal error: dlfcn.h: No such file or directory # include ^ compilation terminated. With that fixed, the next failure was: CCLD qemuxml2argvmock.la libtool: link: libtool library `qemuxml2argvmock.la' must begin with `lib' libtool: link: Try `libtool --help --mode=link' for more information. While we don't need to limit all LD_PRELOAD tests to just Linux, we do need to limit them to platforms that actually support loading; we also need to avoid building qemu tests when qemu is not enabled. * tests/virportallocatortest.c: Make conditional on . * tests/Makefile.am (test_libraries): Only build qemu mock library when building qemu tests. Signed-off-by: Eric Blake --- tests/Makefile.am | 7 +++--- tests/virportallocatortest.c | 44 ++++++++++++++++++++++-------------- 2 files changed, 31 insertions(+), 20 deletions(-) diff --git a/tests/Makefile.am b/tests/Makefile.am index 91eeeac6b5..c374f1452e 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,6 +1,6 @@ ## Process this file with automake to produce Makefile.in -## Copyright (C) 2005-2013 Red Hat, Inc. +## Copyright (C) 2005-2014 Red Hat, Inc. ## ## This library is free software; you can redistribute it and/or ## modify it under the terms of the GNU Lesser General Public @@ -333,10 +333,11 @@ test_libraries = libshunload.la \ virnetserverclientmock.la \ vircgroupmock.la \ virpcimock.la \ - qemuxml2argvmock.la \ $(NULL) if WITH_QEMU -test_libraries += libqemumonitortestutils.la +test_libraries += libqemumonitortestutils.la \ + qemuxml2argvmock.la \ + $(NULL) endif WITH_QEMU if WITH_DBUS diff --git a/tests/virportallocatortest.c b/tests/virportallocatortest.c index 7fe18df55f..34843e314d 100644 --- a/tests/virportallocatortest.c +++ b/tests/virportallocatortest.c @@ -21,15 +21,18 @@ #include #include #include "virfile.h" +#include "testutils.h" -#ifdef MOCK_HELPER -# include "internal.h" -# include -# include -# include -# include -# include -# include +#if HAVE_DLFCN_H + +# ifdef MOCK_HELPER +# include "internal.h" +# include +# include +# include +# include +# include +# include static bool host_has_ipv6 = false; static int (*realsocket)(int domain, int type, int protocol); @@ -102,17 +105,16 @@ int bind(int sockfd ATTRIBUTE_UNUSED, return 0; } -#else +# else -# include "testutils.h" -# include "virutil.h" -# include "virerror.h" -# include "viralloc.h" -# include "virlog.h" -# include "virportallocator.h" -# include "virstring.h" +# include "virutil.h" +# include "virerror.h" +# include "viralloc.h" +# include "virlog.h" +# include "virportallocator.h" +# include "virstring.h" -# define VIR_FROM_THIS VIR_FROM_RPC +# define VIR_FROM_THIS VIR_FROM_RPC static int testAllocAll(const void *args ATTRIBUTE_UNUSED) @@ -261,4 +263,12 @@ mymain(void) } VIRT_TEST_MAIN_PRELOAD(mymain, abs_builddir "/.libs/libvirportallocatormock.so") +# endif + +#else /* ! HAVE_DLFCN_H */ +int +main(void) +{ + return EXIT_AM_SKIP; +} #endif