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(a)redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list