提交 0ae6f5ce 编写于 作者: R Roman Bolshakov 提交者: Daniel P. Berrangé

tests: Avoid gnulib replacements in mocks

gnulib headers change stat, lstat and open to replacement functions,
even for function definitions. This effectively disables standard
library overrides in virfilewrapper and virmockstathelpers since they
are never reached.

Rename the functions and provide a declartion that uses correct
assembler name for the mocks.

This fixes firmware lookup in domaincapstest on macOS.
Signed-off-by: NRoman Bolshakov <r.bolshakov@yadro.com>
上级 fefc4ff4
......@@ -157,7 +157,12 @@ int access(const char *path, int mode)
return real_access(newpath ? newpath : path, mode);
}
# ifdef __APPLE__
int _open(const char *path, int flags, ...) __asm("_open");
int _open(const char *path, int flags, ...)
# else
int open(const char *path, int flags, ...)
# endif
{
VIR_AUTOFREE(char *) newpath = NULL;
va_list ap;
......
......@@ -192,7 +192,12 @@ static int virMockStatRedirect(const char *path, char **newpath);
#endif
#ifdef MOCK_STAT
# ifdef __APPLE__
int _stat(const char *path, struct stat *sb) __asm("_stat$INODE64");
int _stat(const char *path, struct stat *sb)
# else
int stat(const char *path, struct stat *sb)
# endif
{
VIR_AUTOFREE(char *) newpath = NULL;
......@@ -262,8 +267,13 @@ __xstat64(int ver, const char *path, struct stat64 *sb)
#endif
#ifdef MOCK_LSTAT
# ifdef __APPLE__
int _lstat(const char *path, struct stat *sb) __asm("_lstat$INODE64");
int _lstat(const char *path, struct stat *sb)
# else
int
lstat(const char *path, struct stat *sb)
# endif
{
VIR_AUTOFREE(char *) newpath = NULL;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册