[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