On 8/12/19 11:06 AM, Daniel Henrique Barboza wrote: > Since commit 'b66ca0220a' the 'tpm-emulator' tests in qemuxml2xmltest > started to fail unless 'make check' is either executed as root > or with an user with access to /etc/qemu/firmware file. This is the > error that happens in a regular 'make check' run with an unprivileged > user: > > ------ > > 546) QEMU XML-2-XML-inactive tpm-emulator ... > 1315 In '/home/danielhb/kvm-project/libvirt/tests/qemuxml2xmloutdata/tpm-emulator.xml': > 1316 Offset 909 > 1317 Expect [1.2] > 1318 Actual [default] > 1319 ... Expected result code=0 but received code=4libvirt: error : cannot open directory '/home/danielhb/kvm-pr oject/libvirt/usr/etc/qemu/firmware': Permission denied > 1320 FAILED > 1321 547) QEMU XML-2-XML-active tpm-emulator ... > 1322 In '/home/danielhb/kvm-project/libvirt/tests/qemuxml2xmloutdata/tpm-emulator.xml': > 1323 Offset 909 > 1324 Expect [1.2] > 1325 Actual [default] > 1326 ... Expected result code=0 but received code=4libvirt: error : cannot open directory '/home/danielhb/kvm-pr oject/libvirt/usr/etc/qemu/firmware': Permission denied > 1327 FAILED > > ------ > > The reason is that commit b66ca0220a changed the domain validation to > fetch the capabilities in qemuDomainDeviceDefValidate time, directly > impacting existing tpm-emulator tests in qemuxml2xmltest.c that > that since then will attempt to read the /etc/qemu/firmware file > that wasn't being mocked. > > This patch fixes it by adding the mock paths for /etc/qemu/firmware > in qemuxml2xmltest.c as well, using the virFileWrapper API like it > is done in commit 5b9819eedc71. > Sorry about that. But I can't reproduce and I can't really tell what the issue is, I tried reproducing the permission issue but nothing failed for me in qemuxml2xml. The error report above seems like the test suite $srcdir/usr/etc/qemu/firmware which looks strange anyways, do you have --prefix set to $srcdir? Are you still seeing this with libvirt.git? Thanks, Cole > Fixes: b66ca0220a ("qemu: domain: Call virDomainCapsDeviceDefValidate") > Signed-off-by: Daniel Henrique Barboza <danielhb413@xxxxxxxxx> > --- > tests/Makefile.am | 3 ++- > tests/qemuxml2xmltest.c | 13 +++++++++++++ > 2 files changed, 15 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..51be6e0263 100644 > --- a/tests/qemuxml2xmltest.c > +++ b/tests/qemuxml2xmltest.c > @@ -14,6 +14,9 @@ > # include "qemu/qemu_domain.h" > # include "testutilsqemu.h" > # include "virstring.h" > +# include "virfilewrapper.h" > +# include "testutils.h" > +# include "configmake.h" > > # define VIR_FROM_THIS VIR_FROM_NONE > > @@ -167,6 +170,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 +1337,7 @@ mymain(void) > virHashFree(capslatest); > qemuTestDriverFree(&driver); > VIR_FREE(fakerootdir); > + virFileWrapperClearPrefixes(); > > return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE; > } > - Cole -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list