]> xenbits.xensource.com Git - libvirt.git/commitdiff
nssmock: Adapt to virmock.h
authorMichal Privoznik <mprivozn@redhat.com>
Fri, 13 May 2016 10:46:35 +0000 (12:46 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Sat, 14 May 2016 07:19:51 +0000 (09:19 +0200)
Instead of introducing our own wrapper for dlsym()
we can use the one provided by virmock.h.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
tests/nssmock.c

index 31b1177ca3eff0a26deb44992efd691989323146..b0259a3776ccc131aefd87d46a21670c3be3925a 100644 (file)
 #include <config.h>
 
 #ifdef NSS
-# include <stdio.h>
-# include <stdlib.h>
-# include <dlfcn.h>
+# include "virmock.h"
 # include <sys/types.h>
 # include <dirent.h>
 # include <sys/stat.h>
 # include <fcntl.h>
 
 # include "configmake.h"
-# include "internal.h"
 # include "virstring.h"
 # include "viralloc.h"
 
-static int (*realopen)(const char *path, int flags, ...);
-static DIR * (*realopendir)(const char *name);
+static int (*real_open)(const char *path, int flags, ...);
+static DIR * (*real_opendir)(const char *name);
 
 # define LEASEDIR LOCALSTATEDIR "/lib/libvirt/dnsmasq/"
 
-# define STDERR(...)                                                    \
-    fprintf(stderr, "%s %zu: ", __FUNCTION__, (size_t) __LINE__);       \
-    fprintf(stderr, __VA_ARGS__);                                       \
-    fprintf(stderr, "\n");                                              \
-
-# define ABORT(...)                                                     \
-    do {                                                                \
-        STDERR(__VA_ARGS__);                                            \
-        abort();                                                        \
-    } while (0)
-
-# define ABORT_OOM()                                                    \
-    ABORT("Out of memory")
-
 /*
  * Functions to load the symbols and init the environment
  */
 static void
 init_syms(void)
 {
-    if (realopen)
+    if (real_open)
         return;
 
-# define LOAD_SYM(name)                                                 \
-    do {                                                                \
-        if (!(real ## name = dlsym(RTLD_NEXT, #name)))                  \
-            ABORT("Cannot find real '%s' symbol\n", #name);             \
-    } while (0)
-
-    LOAD_SYM(open);
-    LOAD_SYM(opendir);
+    VIR_MOCK_REAL_INIT(open);
+    VIR_MOCK_REAL_INIT(opendir);
 }
 
 static int
@@ -109,9 +86,9 @@ open(const char *path, int flags, ...)
         va_start(ap, flags);
         mode = va_arg(ap, int);
         va_end(ap);
-        ret = realopen(newpath ? newpath : path, flags, mode);
+        ret = real_open(newpath ? newpath : path, flags, mode);
     } else {
-        ret = realopen(newpath ? newpath : path, flags);
+        ret = real_open(newpath ? newpath : path, flags);
     }
 
     VIR_FREE(newpath);
@@ -130,7 +107,7 @@ opendir(const char *path)
         getrealpath(&newpath, path) < 0)
         return NULL;
 
-    ret = realopendir(newpath ? newpath : path);
+    ret = real_opendir(newpath ? newpath : path);
 
     VIR_FREE(newpath);
     return ret;