[PATCH] virportallocatortest: Run on linux only

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



After the rework of mocking of our tests there's the
virportallocator test failing to link on mingw. Well, it's the
mocking library actually:

../gnulib/lib/.libs/libgnu.a(bind.o): In function `rpl_bind':
/home/jenkins/libvirt-mingw/build32/gnulib/lib/../../../gnulib/lib/bind.c:33: multiple definition of `rpl_bind'
.libs/virportallocatormock_la-virportallocatormock.o:/home/jenkins/libvirt-mingw/build32/tests/../../tests/virportallocatormock.c:79: first defined here

I've no idea why this matters to mingw and does not to others.
Nevertheless, if we make the test linux only the problem goes
away.

Apparently, our test for RTLD_NEXT is not sufficient because
mingw32 defines it. Lets put aside for a while fact that it has
the same value as RTLD_DEFAULT which by description has different
meaning, shall we?

Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
---
 tests/virportallocatormock.c | 6 ++++--
 tests/virportallocatortest.c | 5 +++--
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/tests/virportallocatormock.c b/tests/virportallocatormock.c
index e44191e..fa6e75b 100644
--- a/tests/virportallocatormock.c
+++ b/tests/virportallocatormock.c
@@ -25,7 +25,7 @@
 # include <dlfcn.h>
 #endif
 
-#if defined(RTLD_NEXT)
+#if defined(__linux__) && defined(RTLD_NEXT)
 # include "internal.h"
 # include <sys/socket.h>
 # include <errno.h>
@@ -105,4 +105,6 @@ int bind(int sockfd ATTRIBUTE_UNUSED,
     return 0;
 }
 
-#endif /* ! defined(RTLD_NEXT) */
+#else /* defined(__linux__) && defined(RTLD_NEXT) */
+/* Nothing to override on other platforms. */
+#endif
diff --git a/tests/virportallocatortest.c b/tests/virportallocatortest.c
index 1a5d759..4574215 100644
--- a/tests/virportallocatortest.c
+++ b/tests/virportallocatortest.c
@@ -27,7 +27,8 @@
 # include <dlfcn.h>
 #endif
 
-#if defined(RTLD_NEXT)
+#if defined(__linux__) && defined(RTLD_NEXT)
+
 # include "virutil.h"
 # include "virerror.h"
 # include "viralloc.h"
@@ -174,7 +175,7 @@ mymain(void)
 }
 
 VIRT_TEST_MAIN_PRELOAD(mymain, abs_builddir "/.libs/virportallocatormock.so")
-#else /* ! defined(RTLD_NEXT) */
+#else /* defined(__linux__) && defined(RTLD_NEXT) */
 int
 main(void)
 {
-- 
2.4.10

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]