[libvirt] [PATCH 1/6] tests: Add newlines with VIR_TEST_REGENERATE_OUTPUT

John Ferlan jferlan at redhat.com
Tue Jan 12 13:29:45 UTC 2016



On 01/08/2016 09:21 PM, Cole Robinson wrote:
> On 01/08/2016 08:59 PM, Laine Stump wrote:
>> On 01/08/2016 07:13 PM, Cole Robinson wrote:
>>> Since test files are formatted predictably nowadays, we can make
>>> VIR_TEST_REGENERATE_OUTPUT handle most cases for us with a simple
>>> replacement. test-wrap-argv.pl is still canon, but this bit makes
>>> it easier to confirm test output changes during active development.
>>> ---
>>>   tests/testutils.c | 13 +++++++++++--
>>>   1 file changed, 11 insertions(+), 2 deletions(-)
>>>

FWIW: Coverity has a complaint...

>>> diff --git a/tests/testutils.c b/tests/testutils.c
>>> index 6645d61..0091fcd 100644
>>> --- a/tests/testutils.c
>>> +++ b/tests/testutils.c
>>> @@ -469,10 +469,19 @@ virtTestDifferenceFullInternal(FILE *stream,
>>>       actualStart = actual;
>>>       actualEnd = actual + (strlen(actual)-1);
>>>   -    if (regenerate && virTestGetRegenerate() > 0) {
>>> +    if (regenerate && (virTestGetRegenerate() > 0) && expectName && actual) {

(3) Event check_after_deref: 	Null-checking "actual" suggests that it
may be null, but it has already been dereferenced on all paths leading
to the check.


Also of note is a few lines earlier:

464  	    if (!actual)
465  	        actual = "";


Did perhaps you want to see if actual was an empty string?

John
>>> +        char *regencontent;
>>> +
>>> +        /* Try to properly indent qemu argv files */
>>> +        if (!(regencontent = virStringReplace(actual, " -", " \\\n-")))
>>> +            return -1;
>>> +
>>>           if (expectName && actual &&
>>> -            virFileWriteStr(expectName, actual, 0666) < 0)
>>> +            virFileWriteStr(expectName, regencontent, 0666) < 0) {
>>> +            VIR_FREE(regencontent);
>>>               return -1;
>>> +        }
>>> +        VIR_FREE(regencontent);
>>>       }
>>>         if (!virTestGetDebug())
>>
>> ACK (although the whole REGENERATE_OUTPUT thing makes me worry that someone
>> may be lulled into blindly regenerating the test output in some case where the
>> test really is catching a regression)
> 
> Yeah it's a risk, but that's what code review is for :) The alternative of
> hand editing XML files is exhausting
> 
> I've pushed these patches now, thanks for the review!
> 
> - Cole
> 
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
> 




More information about the libvir-list mailing list