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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list