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: Peter Maydell
Subject: Re: [Qemu-devel] [PULL 37/37] tests: add human format test for string output visitor
Date: Wed, 9 Jul 2014 20:34:30 +0100

On 9 July 2014 20:14, Andreas Färber <address@hidden> wrote:
> 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?

I always run make check on every patch and pull request, yes.
Presumably the byte following the allocation happens to be zero
for most people by random luck.

thanks
-- PMM



reply via email to

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