From ca88c0e7b2b45ef6dce4b3e33cf0f1e388b29725 Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Fri, 13 May 2016 12:46:35 +0200 Subject: [PATCH] nssmock: Adapt to virmock.h Instead of introducing our own wrapper for dlsym() we can use the one provided by virmock.h. Signed-off-by: Michal Privoznik --- tests/nssmock.c | 41 +++++++++-------------------------------- 1 file changed, 9 insertions(+), 32 deletions(-) diff --git a/tests/nssmock.c b/tests/nssmock.c index 31b1177ca3..b0259a3776 100644 --- a/tests/nssmock.c +++ b/tests/nssmock.c @@ -21,55 +21,32 @@ #include #ifdef NSS -# include -# include -# include +# include "virmock.h" # include # include # include # include # 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;