qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PULL 37/37] tests: add human format test for string ou


From: Andreas Färber
Subject: Re: [Qemu-devel] [PULL 37/37] tests: add human format test for string output visitor
Date: Wed, 09 Jul 2014 21:14:19 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0

Am 29.06.2014 19:00, schrieb Michael S. Tsirkin:
> From: Hu Tao <address@hidden>
> 
> Signed-off-by: Hu Tao <address@hidden>
> Acked-by: Michael S. Tsirkin <address@hidden>
> Signed-off-by: Michael S. Tsirkin <address@hidden>
> ---
>  tests/test-string-output-visitor.c | 109 
> ++++++++++++++++++++++++++++++-------
>  1 file changed, 90 insertions(+), 19 deletions(-)
> 
> diff --git a/tests/test-string-output-visitor.c 
> b/tests/test-string-output-visitor.c
> index 28e7359..e89e43c 100644
> --- a/tests/test-string-output-visitor.c
> +++ b/tests/test-string-output-visitor.c
[...]
> @@ -162,12 +195,26 @@ static void test_visitor_out_enum(TestOutputVisitorData 
> *data,
>      EnumOne i;
>  
>      for (i = 0; i < ENUM_ONE_MAX; i++) {
> +        char *str_human;
> +        int len;
> +
>          visit_type_EnumOne(data->ov, &i, "unused", &err);
>          g_assert(!err);
>  
> +        len = strlen(EnumOne_lookup[i]) + 2;
> +        str_human = g_malloc0(len);
> +        str_human[0] = '"';
> +        strncpy(str_human + 1, EnumOne_lookup[i], strlen(EnumOne_lookup[i]));
> +        str_human[len - 1] = '"';
> +
>          str = string_output_get_string(data->sov);
>          g_assert(str != NULL);
> -        g_assert_cmpstr(str, ==, EnumOne_lookup[i]);
> +        if (data->human) {
> +            g_assert_cmpstr(str, ==, str_human);

This test is seriously busted: str_human is not NUL-terminated, breaking
-rc1's make check. Eric did ask to use g_strdup_printf() instead, which
would've prevented this bug, on the fixup series that appears to have
been squashed here.

Did anyone run make check at all? Peter?

Will cook up a patch.

Regards,
Andreas

> +        } else {
> +            g_assert_cmpstr(str, ==, EnumOne_lookup[i]);
> +        }
> +        g_free(str_human);
>       g_free(str);
>      }
>  }
[snip]

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



reply via email to

[Prev in Thread] Current Thread [Next in Thread]