[libvirt PATCH 5/5] tests: Allow expansion of mocked stat symbols

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

 



When libc uses a define to rewrite stat64 to stat our mocks do not work if they
are chained because the symbol that we are looking up is being stringified and
therefore preventing the stat64->stat expansion per C-preprocessor rules.  One
stringification macro is just enough to make it work.

Signed-off-by: Martin Kletzander <mkletzan@xxxxxxxxxx>
---
 tests/virmock.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tests/virmock.h b/tests/virmock.h
index 5250e733a156..300ba17174d4 100644
--- a/tests/virmock.h
+++ b/tests/virmock.h
@@ -296,12 +296,14 @@
     do {} while (0)
 #endif
 
+#define VIR_MOCK_STRINGIFY_SYMBOL(name) #name
+
 #define VIR_MOCK_REAL_INIT(name) \
     do { \
         VIR_MOCK_REAL_INIT_MAIN(name, #name); \
         if (real_##name == NULL && \
             !(real_##name = dlsym(RTLD_NEXT, \
-                                  #name))) { \
+                                  VIR_MOCK_STRINGIFY_SYMBOL(name)))) { \
             fprintf(stderr, "Missing symbol '" #name "'\n"); \
             abort(); \
         } \
-- 
2.35.1




[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]

  Powered by Linux