]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
tests: Drop VIR_MOCK_CALL_STAT
authorMichal Privoznik <mprivozn@redhat.com>
Mon, 16 May 2016 15:15:46 +0000 (17:15 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Fri, 20 May 2016 15:16:21 +0000 (17:16 +0200)
It wasn't as great idea as I thought. Thing around stat() are
more complicated than that. Therefore we need to revert
86d1705a8ace349b plus drop use of the macro as introduced in
later patches.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
tests/vircgroupmock.c
tests/virmock.h
tests/virpcimock.c
tests/virtestmock.c

index c2d3b807cddb87bd358e034ef36c49fa5e915b82..ce6fd46266d9df7606f82cc2cd9b74d58a04f7c6 100644 (file)
@@ -558,7 +558,7 @@ int __lxstat(int ver, const char *path, struct stat *sb)
             errno = ENOMEM;
             return -1;
         }
-        ret = VIR_MOCK_CALL_LSTAT(ver, newpath, sb);
+        ret = real___lxstat(ver, newpath, sb);
         free(newpath);
     } else if (STRPREFIX(path, fakedevicedir0)) {
         sb->st_mode = S_IFBLK;
@@ -569,7 +569,7 @@ int __lxstat(int ver, const char *path, struct stat *sb)
         sb->st_rdev = makedev(9, 0);
         return 0;
     } else {
-        ret = VIR_MOCK_CALL_LSTAT(ver, path, sb);
+        ret = real___lxstat(ver, path, sb);
     }
     return ret;
 }
@@ -589,7 +589,7 @@ int lstat(const char *path, struct stat *sb)
             errno = ENOMEM;
             return -1;
         }
-        ret = VIR_MOCK_CALL_LSTAT(_STAT_VER, newpath, sb);
+        ret = real_lstat(newpath, sb);
         free(newpath);
     } else if (STRPREFIX(path, fakedevicedir0)) {
         sb->st_mode = S_IFBLK;
@@ -600,7 +600,7 @@ int lstat(const char *path, struct stat *sb)
         sb->st_rdev = makedev(9, 0);
         return 0;
     } else {
-        ret = VIR_MOCK_CALL_LSTAT(_STAT_VER, path, sb);
+        ret = real_lstat(path, sb);
     }
     return ret;
 }
@@ -620,7 +620,7 @@ int __xstat(int ver, const char *path, struct stat *sb)
             errno = ENOMEM;
             return -1;
         }
-        ret = VIR_MOCK_CALL_STAT(ver, newpath, sb);
+        ret = real___xstat(ver, newpath, sb);
         free(newpath);
     } else if (STRPREFIX(path, fakedevicedir0)) {
         sb->st_mode = S_IFBLK;
@@ -631,7 +631,7 @@ int __xstat(int ver, const char *path, struct stat *sb)
         sb->st_rdev = makedev(9, 0);
         return 0;
     } else {
-        ret = VIR_MOCK_CALL_STAT(ver, path, sb);
+        ret = real___xstat(ver, path, sb);
     }
     return ret;
 }
@@ -671,7 +671,7 @@ int stat(const char *path, struct stat *sb)
         if (!(newpath = strdup(path)))
             return -1;
     }
-    ret = VIR_MOCK_CALL_STAT(_STAT_VER, newpath, sb);
+    ret = real_stat(newpath, sb);
     free(newpath);
     return ret;
 }
index 27c03ba0aae3eeb6a3da150f70e8bf3e8f9eb48e..62a7c8fed4147e64746cbeabd7f5aad922276c69 100644 (file)
@@ -27,7 +27,6 @@
 # endif
 # include <stdlib.h>
 # include <stdio.h>
-# include <sys/stat.h>
 
 # include "internal.h"
 
     static void (*real_##name)(void);                                   \
     void name(void)
 
-static inline int
-callStat(int (*realStat)(const char *, struct stat *),
-         int (*realXstat)(int, const char *, struct stat *),
-         int __ver, const char *__filename, struct stat *__stat_buf)
-{
-    if (!realXstat) {
-        if (__ver == _STAT_VER) {
-            return realStat(__filename, __stat_buf);
-        } else {
-            fprintf(stderr, "Not handled __xstat(ver=%d)", __ver);
-            abort();
-        }
-    }
-
-    return realXstat(__ver, __filename, __stat_buf);
-}
-
-# define VIR_MOCK_CALL_STAT(__ver, __filename, __stat_buf)              \
-    callStat(real_stat, real___xstat, __ver, __filename, __stat_buf)
-# define VIR_MOCK_CALL_LSTAT(__ver, __filename, __stat_buf)             \
-    callStat(real_lstat, real___lxstat, __ver, __filename, __stat_buf)
-
 /*
  * The VIR_MOCK_WRAP_NNN_MMM() macros are intended for use in the
  * individual test suites. The define a stub implementation of
index 60b3b74bf52812d173ae14af0001a9512a42f4aa..e9408aa0aee02f061e54bd10ea255855e8c6d1df 100644 (file)
@@ -353,7 +353,8 @@ pci_device_new_from_stub(const struct pciDevice *data)
 
     /* If there is a config file for the device within virpcitestdata dir,
      * symlink it. Otherwise create a dummy config file. */
-    if (VIR_MOCK_CALL_STAT(_STAT_VER, configSrc, &sb) == 0) {
+    if ((real_stat && real_stat(configSrc, &sb) == 0) ||
+        (real___xstat && real___xstat(_STAT_VER, configSrc, &sb) == 0)) {
         /* On success, copy @configSrc into the destination (a copy,
          * rather than a symlink, is required since we write into the
          * file, and parallel VPATH builds must not stomp on the
@@ -868,10 +869,10 @@ __lxstat(int ver, const char *path, struct stat *sb)
         char *newpath;
         if (getrealpath(&newpath, path) < 0)
             return -1;
-        ret = VIR_MOCK_CALL_LSTAT(ver, newpath, sb);
+        ret = real___lxstat(ver, newpath, sb);
         VIR_FREE(newpath);
     } else {
-        ret = VIR_MOCK_CALL_LSTAT(ver, path, sb);
+        ret = real___lxstat(ver, path, sb);
     }
     return ret;
 }
@@ -887,10 +888,10 @@ lstat(const char *path, struct stat *sb)
         char *newpath;
         if (getrealpath(&newpath, path) < 0)
             return -1;
-        ret = VIR_MOCK_CALL_LSTAT(_STAT_VER, newpath, sb);
+        ret = real_lstat(newpath, sb);
         VIR_FREE(newpath);
     } else {
-        ret = VIR_MOCK_CALL_LSTAT(_STAT_VER, path, sb);
+        ret = real_lstat(path, sb);
     }
     return ret;
 }
@@ -906,10 +907,10 @@ __xstat(int ver, const char *path, struct stat *sb)
         char *newpath;
         if (getrealpath(&newpath, path) < 0)
             return -1;
-        ret = VIR_MOCK_CALL_STAT(ver, newpath, sb);
+        ret = real___xstat(ver, newpath, sb);
         VIR_FREE(newpath);
     } else {
-        ret = VIR_MOCK_CALL_STAT(ver, path, sb);
+        ret = real___xstat(ver, path, sb);
     }
     return ret;
 }
@@ -925,10 +926,10 @@ stat(const char *path, struct stat *sb)
         char *newpath;
         if (getrealpath(&newpath, path) < 0)
             return -1;
-        ret = VIR_MOCK_CALL_STAT(_STAT_VER, newpath, sb);
+        ret = real_stat(newpath, sb);
         VIR_FREE(newpath);
     } else {
-        ret = VIR_MOCK_CALL_STAT(_STAT_VER, path, sb);
+        ret = real_stat(path, sb);
     }
     return ret;
 }
index 59ca5e5b078f4b90dcee22b862fef0f3cd162a97..54669ba6af282537a3aecaf3f8e4e8bb111ae774 100644 (file)
@@ -26,6 +26,7 @@
 #include <fcntl.h>
 #include <execinfo.h>
 #include <sys/file.h>
+#include <sys/stat.h>
 
 #include "internal.h"
 #include "configmake.h"
@@ -192,7 +193,7 @@ int stat(const char *path, struct stat *sb)
 
     checkPath(path);
 
-    return VIR_MOCK_CALL_STAT(_STAT_VER, path, sb);
+    return real_stat(path, sb);
 }
 
 int
@@ -202,7 +203,7 @@ __xstat(int ver, const char *path, struct stat *sb)
 
     checkPath(path);
 
-    return VIR_MOCK_CALL_STAT(ver, path, sb);
+    return real___xstat(ver, path, sb);
 }
 
 int
@@ -212,7 +213,7 @@ lstat(const char *path, struct stat *sb)
 
     checkPath(path);
 
-    return VIR_MOCK_CALL_LSTAT(_STAT_VER, path, sb);
+    return real_lstat(path, sb);
 }
 
 int
@@ -222,5 +223,5 @@ __lxstat(int ver, const char *path, struct stat *sb)
 
     checkPath(path);
 
-    return VIR_MOCK_CALL_LSTAT(ver, path, sb);
+    return real___lxstat(ver, path, sb);
 }