|
Daniel P. Berrangé |
c2f3be |
From c46299170bd318bc1ffc95da1774515634fd03d9 Mon Sep 17 00:00:00 2001
|
|
Daniel P. Berrangé |
c2f3be |
From: Roman Bolshakov <r.bolshakov@yadro.com>
|
|
Daniel P. Berrangé |
c2f3be |
Date: Sun, 18 Oct 2020 18:30:57 +0300
|
|
Daniel P. Berrangé |
c2f3be |
Subject: [PATCH 2/3] tests: Re-introduce stat/lstat mocks on macOS
|
|
Daniel P. Berrangé |
c2f3be |
|
|
Daniel P. Berrangé |
c2f3be |
Commit d6b17edd5163 ("tests: Lookup extended stat/lstat in mocks")
|
|
Daniel P. Berrangé |
c2f3be |
adds support for mocking of stat() and lstat() on macOS.
|
|
Daniel P. Berrangé |
c2f3be |
|
|
Daniel P. Berrangé |
c2f3be |
The change was broken because virmockstathelpers.c only follows glibc
|
|
Daniel P. Berrangé |
c2f3be |
logic and MOCK_STAT and MOCK_LSTAT are not getting defined on macOS.
|
|
Daniel P. Berrangé |
c2f3be |
|
|
Daniel P. Berrangé |
c2f3be |
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
|
|
Daniel P. Berrangé |
c2f3be |
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
|
|
Daniel P. Berrangé |
c2f3be |
---
|
|
Daniel P. Berrangé |
c2f3be |
tests/virmockstathelpers.c | 16 ++++++++++++----
|
|
Daniel P. Berrangé |
c2f3be |
1 file changed, 12 insertions(+), 4 deletions(-)
|
|
Daniel P. Berrangé |
c2f3be |
|
|
Daniel P. Berrangé |
c2f3be |
diff --git a/tests/virmockstathelpers.c b/tests/virmockstathelpers.c
|
|
Daniel P. Berrangé |
c2f3be |
index 90b9ceedb6..5a71de24e9 100644
|
|
Daniel P. Berrangé |
c2f3be |
--- a/tests/virmockstathelpers.c
|
|
Daniel P. Berrangé |
c2f3be |
+++ b/tests/virmockstathelpers.c
|
|
Daniel P. Berrangé |
c2f3be |
@@ -55,6 +55,10 @@
|
|
Daniel P. Berrangé |
c2f3be |
* Unfortunately, because we are trying to mock replace the C library,
|
|
Daniel P. Berrangé |
c2f3be |
* we need to know about this internal impl detail.
|
|
Daniel P. Berrangé |
c2f3be |
*
|
|
Daniel P. Berrangé |
c2f3be |
+ * On macOS stat() and lstat() are resolved to _stat$INODE64 and
|
|
Daniel P. Berrangé |
c2f3be |
+ * _lstat$INODE64, respectively. stat(2) man page also declares that
|
|
Daniel P. Berrangé |
c2f3be |
+ * stat64(), lstat64() and fstat64() are deprecated.
|
|
Daniel P. Berrangé |
c2f3be |
+ *
|
|
Daniel P. Berrangé |
c2f3be |
* With all this in mind the list of functions we have to mock will depend
|
|
Daniel P. Berrangé |
c2f3be |
* on several factors
|
|
Daniel P. Berrangé |
c2f3be |
*
|
|
Daniel P. Berrangé |
c2f3be |
@@ -68,8 +72,10 @@
|
|
Daniel P. Berrangé |
c2f3be |
|
|
Daniel P. Berrangé |
c2f3be |
|
|
Daniel P. Berrangé |
c2f3be |
|
|
Daniel P. Berrangé |
c2f3be |
-#if defined(WITH_STAT) && !defined(WITH___XSTAT) && !defined(WITH_STAT64)
|
|
Daniel P. Berrangé |
c2f3be |
-# define MOCK_STAT
|
|
Daniel P. Berrangé |
c2f3be |
+#if defined(WITH_STAT)
|
|
Daniel P. Berrangé |
c2f3be |
+# if !defined(WITH___XSTAT) && !defined(WITH_STAT64) || defined(__APPLE__)
|
|
Daniel P. Berrangé |
c2f3be |
+# define MOCK_STAT
|
|
Daniel P. Berrangé |
c2f3be |
+# endif
|
|
Daniel P. Berrangé |
c2f3be |
#endif
|
|
Daniel P. Berrangé |
c2f3be |
#if defined(WITH_STAT64) && !defined(WITH___XSTAT64)
|
|
Daniel P. Berrangé |
c2f3be |
# define MOCK_STAT64
|
|
Daniel P. Berrangé |
c2f3be |
@@ -80,8 +86,10 @@
|
|
Daniel P. Berrangé |
c2f3be |
#if defined(WITH___XSTAT64)
|
|
Daniel P. Berrangé |
c2f3be |
# define MOCK___XSTAT64
|
|
Daniel P. Berrangé |
c2f3be |
#endif
|
|
Daniel P. Berrangé |
c2f3be |
-#if defined(WITH_LSTAT) && !defined(WITH___LXSTAT) && !defined(WITH_LSTAT64)
|
|
Daniel P. Berrangé |
c2f3be |
-# define MOCK_LSTAT
|
|
Daniel P. Berrangé |
c2f3be |
+#if defined(WITH_LSTAT)
|
|
Daniel P. Berrangé |
c2f3be |
+# if !defined(WITH___LXSTAT) && !defined(WITH_LSTAT64) || defined(__APPLE__)
|
|
Daniel P. Berrangé |
c2f3be |
+# define MOCK_LSTAT
|
|
Daniel P. Berrangé |
c2f3be |
+# endif
|
|
Daniel P. Berrangé |
c2f3be |
#endif
|
|
Daniel P. Berrangé |
c2f3be |
#if defined(WITH_LSTAT64) && !defined(WITH___LXSTAT64)
|
|
Daniel P. Berrangé |
c2f3be |
# define MOCK_LSTAT64
|
|
Daniel P. Berrangé |
c2f3be |
--
|
|
Daniel P. Berrangé |
c2f3be |
2.28.0
|
|
Daniel P. Berrangé |
c2f3be |
|