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

Laine Stump laine at laine.org
Sat Jan 9 01:59:28 UTC 2016


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(-)
>
> 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) {
> +        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)




More information about the libvir-list mailing list