[libvirt] [PATCH 2/4] tests: Fix qemumemlocktest on FreeBSD

Daniel P. Berrangé berrange at redhat.com
Mon Apr 30 09:59:18 UTC 2018


On Mon, Apr 30, 2018 at 11:47:33AM +0200, Andrea Bolognani wrote:
> On Fri, 2018-04-27 at 16:35 +0100, Daniel P. Berrangé wrote:
> > On Fri, Apr 27, 2018 at 05:21:21PM +0200, Andrea Bolognani wrote:
> > > When hostdevs are involved, libvirt needs to poke into sysfs to
> > > collect some information about them; since that pseudo-filesystem
> > > doesn't exist on platforms other than Linux, the corresponding
> > > tests would fail and need to be compiled out.
> > 
> > Our test suite isn't supposed to touch /sysfs from the real
> > host at all. Sounds like we either need to mock out the
> > function that's doing that, or provide some fake sysfs data
> > in a tests/ subdirectory to run against with a mock'd open()
> > call. That would make it work even on non-Linux I hope.
> 
> Sorry, I should have provided some more context, but I was in a
> bit of a hurry on Friday when I sent this.
> 
> We are already mocking (parts of) sysfs through virpcimock, but
> the contents of that file are compiled out on non-Linux; after
> removing the #ifdefs, it's fairly easy to solve most of the build
> issues on FreeBSD (draft patch attached), but there's one I
> couldn't quite get rid of.
> 
> Mocking canonicalize_file_name() causes a linking error:
> 
>   ../gnulib/lib/.libs/libgnu.a(canonicalize-lgpl.o): In function `canonicalize_file_name':
>   .../libvirt/gnulib/lib/canonicalize-lgpl.c:417: multiple definition of `canonicalize_file_name'
>   .libs/virpcimock.o:.../libvirt/tests/virpcimock.c:983: first defined here
> 
> This is not a problem on Linux, where canonicalize_file_name() is
> provided by libc, but FreeBSD is using the gnulib implementation
> instead, leading to the issue above.

AFAIK, the only way is to not link virpcimock.la  to gnulib.

If we're lucky all the functions it needs would be present in the libvirt.so
already, so might just need a few things added to the export list ?

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 :|




More information about the libvir-list mailing list