Re: [PATCH v3 5/7] networkxml2conftest: Use dnsmasqCapsNewFromBinary() to construct caps

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1/14/22 17:49, Andrea Bolognani wrote:
> On Wed, Jan 12, 2022 at 09:47:56AM +0100, Michal Privoznik wrote:
>> DISCLAIMER: dnsmasq capabilities are empty as of v8.0.0-rc1~145.
>>
>> In a real environment the dnsmasq capabilities are constructed
>> using dnsmasqCapsNewFromBinary(). We also have
>> dnsmasqCapsNewFromBuffer() to bypass checks that real code is
>> doing and just get capabilities object. The latter is used from
>> test suite.
>>
>> However, with a little bit of mocking we can test the real life
>> code. All that's needed is to simulate dnsmasq's output for
>> --version and --help and mock a stat() that's done in
>> dnsmasqCapsRefreshInternal().
>>
>> Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
>> ---
>>  tests/networkmock.c         | 16 ++++++++++++++++
>>  tests/networkxml2conftest.c | 38 ++++++++++++++++++++++++++++++++++++-
>>  2 files changed, 53 insertions(+), 1 deletion(-)
> 
> This all works, but I wonder if we couldn't just create a trivial
> shell script that behaves minimally the way we expect dnsmasq to, and
> change our virFindFileInPath() mock so that it returns the absolute
> path to it? That way we wouldn't need to implement any additional
> mocking and the code would end up being much simpler. Diff below.

I thought that we should avoid shell for new contributions:

https://libvirt.org/programming-languages.html

> 
> Also note that there is a pre-existing issue with the test, in that
> we don't check that the value returned by dnsmasqCapsNewFrom*() is
> non-NULL, and as a result if you change the version number in the
> test string to something like 0.1 the test will still pass where it
> definitely shouldn't.

Okay, let me address that in v3.

Michal




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux