We're going to need this later on. Signed-off-by: Andrea Bolognani <abologna@xxxxxxxxxx> --- tests/virpcimock.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/tests/virpcimock.c b/tests/virpcimock.c index 176c64d654..3d3a4b4a19 100644 --- a/tests/virpcimock.c +++ b/tests/virpcimock.c @@ -43,6 +43,7 @@ static char *(*real_canonicalize_file_name)(const char *path); static int (*real_open)(const char *path, int flags, ...); static int (*real_close)(int fd); static DIR * (*real_opendir)(const char *name); +static char *(*real_virFileCanonicalizePath)(const char *path); /* Don't make static, since it causes problems with clang * when passed as an arg to virAsprintf() @@ -814,6 +815,7 @@ init_syms(void) VIR_MOCK_REAL_INIT(open); VIR_MOCK_REAL_INIT(close); VIR_MOCK_REAL_INIT(opendir); + VIR_MOCK_REAL_INIT(virFileCanonicalizePath); } static void @@ -1046,6 +1048,28 @@ close(int fd) return -1; return real_close(fd); } + +char * +virFileCanonicalizePath(const char *path) +{ + char *ret; + + init_syms(); + + if (STRPREFIX(path, SYSFS_PCI_PREFIX)) { + char *newpath; + + if (getrealpath(&newpath, path) < 0) + return NULL; + + ret = real_virFileCanonicalizePath(newpath); + VIR_FREE(newpath); + } else { + ret = real_virFileCanonicalizePath(path); + } + + return ret; +} #else /* Nothing to override on non-__linux__ platforms */ #endif -- 2.14.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list