[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