In general, it has little sense to use Linux pci mock on macOS but virPCIDeviceAddressGetIOMMUGroupNum() is relying on the filesystem layout mocked by virpcimock. And all tests that rely on correct execution of virPCIDeviceAddressGetIOMMUGroupNum() fail. Additionally, missing initialization is added to close() to avoid invocation of real_close() before it's set up. The change fixes qemuhotplugtest, qemumemlocktest and qemuxml2xmltest. Signed-off-by: Roman Bolshakov <r.bolshakov@xxxxxxxxx> --- tests/virpcimock.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/virpcimock.c b/tests/virpcimock.c index 064218d275..5cd688c825 100644 --- a/tests/virpcimock.c +++ b/tests/virpcimock.c @@ -18,7 +18,7 @@ #include <config.h> -#if defined(__linux__) || defined(__FreeBSD__) +#if defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__) # include "virmock.h" # include <unistd.h> # include <fcntl.h> @@ -1123,6 +1123,8 @@ opendir(const char *path) int close(int fd) { + init_syms(); + if (remove_fd(fd) < 0) return -1; return real_close(fd); -- 2.28.0