From: Roman Bolshakov Date: Sun, 18 Oct 2020 15:30:57 +0000 (+0300) Subject: tests: Re-introduce stat/lstat mocks on macOS X-Git-Tag: v6.9.0-rc1~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ad0b56b64c83b36110cac385824e0ce67fae734f;p=thirdparty%2Flibvirt.git tests: Re-introduce stat/lstat mocks on macOS Commit d6b17edd5163 ("tests: Lookup extended stat/lstat in mocks") adds support for mocking of stat() and lstat() on macOS. The change was broken because virmockstathelpers.c only follows glibc logic and MOCK_STAT and MOCK_LSTAT are not getting defined on macOS. Signed-off-by: Roman Bolshakov Reviewed-by: Michal Privoznik --- diff --git a/tests/virmockstathelpers.c b/tests/virmockstathelpers.c index a251fc1267..5c9759551d 100644 --- a/tests/virmockstathelpers.c +++ b/tests/virmockstathelpers.c @@ -55,6 +55,10 @@ * Unfortunately, because we are trying to mock replace the C library, * we need to know about this internal impl detail. * + * On macOS stat() and lstat() are resolved to _stat$INODE64 and + * _lstat$INODE64, respectively. stat(2) man page also declares that + * stat64(), lstat64() and fstat64() are deprecated. + * * With all this in mind the list of functions we have to mock will depend * on several factors * @@ -68,8 +72,10 @@ -#if defined(WITH_STAT) && !defined(WITH___XSTAT) && !defined(WITH_STAT64) -# define MOCK_STAT +#if defined(WITH_STAT) +# if !defined(WITH___XSTAT) && !defined(WITH_STAT64) || defined(__APPLE__) +# define MOCK_STAT +# endif #endif #if defined(WITH_STAT64) && !defined(WITH___XSTAT64) # define MOCK_STAT64 @@ -80,8 +86,10 @@ #if defined(WITH___XSTAT64) # define MOCK___XSTAT64 #endif -#if defined(WITH_LSTAT) && !defined(WITH___LXSTAT) && !defined(WITH_LSTAT64) -# define MOCK_LSTAT +#if defined(WITH_LSTAT) +# if !defined(WITH___LXSTAT) && !defined(WITH_LSTAT64) || defined(__APPLE__) +# define MOCK_LSTAT +# endif #endif #if defined(WITH_LSTAT64) && !defined(WITH___LXSTAT64) # define MOCK_LSTAT64