Re: New features tests fails

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

 



On Mon, Aug 19, 2024 at 12:49:19 +0200, Peter Krempa wrote:
> On Mon, Aug 19, 2024 at 12:00:56 +0200, Anthony Harivel wrote:
> > Hi, 
> > 
> > I'm trying to implement the libvirt part of a new feature that has 
> > landed in QEMU staging [1].
> > The current draft of this implementations is the following [2]. 
> > It compiles on top of master. 
> > But when I want to run the tests suites, I hit an issue I don't managed 
> > to find the problem.
> > 
> > It runs until:
> > [...]
> > 278/279 libvirt:bin / qemuxmlconftest FAIL  8.63s   exit status 1
> > [...]
> > 
> > then it tells me to run the following to understand the issue:
> > VIR_TEST_DEBUG=1 VIR_TEST_RANGE=850-851,854-855 /home/aharivel/work/libvirt/build/tests/qemuxmlconftest
> > 
> > It outputs this:
> > [...]
> > 850) QEMU XML def -> XML kvm-features.x86_64-latest                    ... 
> > In '/home/aharivel/work/libvirt/tests/qemuxmlconfdata/kvm-features.x86_64-latest.xml':
> > Offset 533
> > Expect [ socket='/run/qemu-vmsr-helper.sock'/]
> > Actual [/]
> 
> These test cases parse an XML and format it back.
> 
> You've got a bug in the code formatting the socket into the XML:
> 
>                         if (def->kvm_features->socket == NULL) {
>                             virBufferAsprintf(&childBuf, " socket='%s'/>\n",
>                                               def->kvm_features->socket);

Also note that for user-provided strings you must use
virBufferEscapeString in order to properly escape XML entities within
strings. 

virBufferEscapeString will avoid formatting the whole format string
completely when the string argument is NULL.

Thus if you just skip the '/>\n' part 

>                         } else {
>                             virBufferAddLit(&childBuf, "/>\n");

and do this unconditionally you can avoid the condition altogether.

>                         }
> 



[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