On Tue, May 15, 2018 at 01:45:33PM +0200, Michal Privoznik wrote: > In a lot of our mocks (if not all of them) we use our internal > APIs (e.g. VIR_ALLOC). So far, we're relying on test binary that > links with the mock to drag in libvirt.so. Well, this works only > partially. Firstly, whatever binary we execute from tests will > fail (e.g. as Martin reported on the list ./qemucapsprobe fails > to execute qemu). Secondly, if there's a program that tries to > validate linking (like valgrind is doing) it fails because of > unresolved symbols. Hmm, that first issue suggests we are not unsetting LD_PRELOAD before executing programs. Indeed looking at git only the qemuargv2xmltest and qemuxml2argvtest.c are unsetting LD_PRELOAD. Seems we should make virTestMain unset LD_PRELOAD globally in some way. NB, I'm not objecting to this patch, just saying we shoudl fix the LD_PRELOAD regardless. > Because of that we have to link our mocks with libvirt.so. It feels rather recursive to me but if it works... > > Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> > --- > tests/Makefile.am | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/tests/Makefile.am b/tests/Makefile.am > index 621480dd0c..ac92190845 100644 > --- a/tests/Makefile.am > +++ b/tests/Makefile.am > @@ -81,7 +81,8 @@ LDADDS = \ > ../src/libvirt.la > > MOCKLIBS_LIBS = \ > - $(GNULIB_LIBS) > + $(GNULIB_LIBS) \ > + ../src/libvirt.la > > EXTRA_DIST = \ > .valgrind.supp \ Reviewed-by: Daniel P. Berrangé <berrange@xxxxxxxxxx> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list