From: Daniel Henrique Barboza Date: Mon, 12 Aug 2019 15:06:22 +0000 (-0300) Subject: qemuxml2xmltest: Redirect access to FW descriptor dirs X-Git-Tag: v5.7.0-rc1~247 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=92832577d1ef29d26d42bcbf978be0e845a31365;p=thirdparty%2Flibvirt.git qemuxml2xmltest: Redirect access to FW descriptor dirs If /etc/qemu/firmware directory exists, but is not readable then qemuxml2xmltest fails. This is because once domain XML is parsed it is validated. For that domain capabilities are needed. However, when constructing domain capabilities, FW descriptors are loaded and this is the point where the test fails, because it fails to open one of the directories. Fixes: 5b9819eedc domain capabilities: Expose firmware auto selection feature Signed-off-by: Daniel Henrique Barboza Signed-off-by: Michal Privoznik --- diff --git a/tests/Makefile.am b/tests/Makefile.am index 1c92e3ca6f..31a22ebefd 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -573,7 +573,8 @@ qemuxml2argvmock_la_LIBADD = $(MOCKLIBS_LIBS) qemuxml2xmltest_SOURCES = \ qemuxml2xmltest.c testutilsqemu.c testutilsqemu.h \ - testutils.c testutils.h + testutils.c testutils.h \ + virfilewrapper.c virfilewrapper.h qemuxml2xmltest_LDADD = $(qemu_LDADDS) qemumonitorjsontest_SOURCES = \ diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index 525eb9a740..e67f1c7460 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -14,6 +14,8 @@ # include "qemu/qemu_domain.h" # include "testutilsqemu.h" # include "virstring.h" +# include "virfilewrapper.h" +# include "configmake.h" # define VIR_FROM_THIS VIR_FROM_NONE @@ -167,6 +169,15 @@ mymain(void) setenv("LIBVIRT_FAKE_ROOT_DIR", fakerootdir, 1); + /* Required for tpm-emulator tests + */ + virFileWrapperAddPrefix(SYSCONFDIR "/qemu/firmware", + abs_srcdir "/qemufirmwaredata/etc/qemu/firmware"); + virFileWrapperAddPrefix(PREFIX "/share/qemu/firmware", + abs_srcdir "/qemufirmwaredata/usr/share/qemu/firmware"); + virFileWrapperAddPrefix("/home/user/.config/qemu/firmware", + abs_srcdir "/qemufirmwaredata/home/user/.config/qemu/firmware"); + if (qemuTestDriverInit(&driver) < 0) return EXIT_FAILURE; @@ -1325,6 +1336,7 @@ mymain(void) virHashFree(capslatest); qemuTestDriverFree(&driver); VIR_FREE(fakerootdir); + virFileWrapperClearPrefixes(); return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE; }