]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
tests: don't try to mock __open_2 on non-GLibc builds
authorDaniel P. Berrangé <berrange@redhat.com>
Tue, 20 Aug 2019 08:57:05 +0000 (09:57 +0100)
committerDaniel P. Berrangé <berrange@redhat.com>
Tue, 20 Aug 2019 09:12:07 +0000 (10:12 +0100)
Mocking of the __open_2 function was added in

  commit 459f071cacf30af9df93b7d090b1bda71b0ef20f
  Author: Michal Privoznik <mprivozn@redhat.com>
  Date:   Thu Aug 15 16:37:17 2019 +0200

    virpcimock: Mock __open_2()

This function only exists in glibc, however, and the mocking code runs
on systems not using glibc, such as FreeBSD. Even Linux hosts might be
using a different libc impl, though we don't actively try to support
that.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
tests/virpcimock.c

index ca6cc060fd58ef2463bbf26f0cb8625772741c60..e9a3791aea837a128f9e3983f68164108716a945 100644 (file)
@@ -32,7 +32,9 @@
 
 static int (*real_access)(const char *path, int mode);
 static int (*real_open)(const char *path, int flags, ...);
+#ifdef __GLIBC__
 static int (*real___open_2)(const char *path, int flags);
+#endif /* ! __GLIBC__ */
 static int (*real_close)(int fd);
 static DIR * (*real_opendir)(const char *name);
 static char *(*real_virFileCanonicalizePath)(const char *path);
@@ -955,7 +957,9 @@ init_syms(void)
 
     VIR_MOCK_REAL_INIT(access);
     VIR_MOCK_REAL_INIT(open);
+#ifdef __GLIBC__
     VIR_MOCK_REAL_INIT(__open_2);
+#endif /* ! __GLIBC__ */
     VIR_MOCK_REAL_INIT(close);
     VIR_MOCK_REAL_INIT(opendir);
     VIR_MOCK_REAL_INIT(virFileCanonicalizePath);
@@ -1084,6 +1088,7 @@ open(const char *path, int flags, ...)
 }
 
 
+#ifdef __GLIBC__
 /* in some cases this function may not be present in headers, so we need
  * a declaration to silence the complier */
 int
@@ -1113,7 +1118,7 @@ __open_2(const char *path, int flags)
 
     return ret;
 }
-
+#endif /* ! __GLIBC__ */
 
 DIR *
 opendir(const char *path)