From 92832577d1ef29d26d42bcbf978be0e845a31365 Mon Sep 17 00:00:00 2001 From: Daniel Henrique Barboza Date: Mon, 12 Aug 2019 12:06:22 -0300 Subject: [PATCH] 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 --- tests/Makefile.am | 3 ++- tests/qemuxml2xmltest.c | 12 ++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) 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; }