[libvirt] [PATCH] qemuxml2argvtest: uncoditionally mock NUMA routines

Andrea Bolognani abologna at redhat.com
Fri May 13 14:44:48 UTC 2016


On Fri, 2016-05-13 at 14:07 +0200, Ján Tomko wrote:
> On Thu, May 12, 2016 at 10:47:04AM +0300, Roman Bogorodskiy wrote:
> > 
> > Currently, qemuxml2argvmock.c only mocks virNumaNodeIsAvailable(), and
> > only if libvirt was built with NUMA support. This causes some test
> > failures where NUMA is involved.
> > 
> This is misleading, you are probably compiling with clang, which
> inlines virNumaGetMaxNode, so the mocked version of it is never called.
> 
> With no NUMA support, even libvirtd uses the implementation of
> virNumaNodeIsAvailable based on virNumaGetMaxNode.
> And the mocked virNumaNodesetIsAvailable is functionally identical to
> the implementation in virnuma.c.
> 
> There were two attempts to get around it:
> __attribute__((__noinline__))
> https://www.redhat.com/archives/libvir-list/2015-March/msg00203.html
> and mocking virNumaNodesetIsAvailable by its identical copy:
> https://www.redhat.com/archives/libvir-list/2016-March/msg00515.html
> (mocking virNumaNodeIsAvailable should not be needed).
> 
> All they need is a decision.

+1 for the __attribute((__noinline__)) approach.

-- 
Andrea Bolognani
Software Engineer - Virtualization Team




More information about the libvir-list mailing list