[RFC wayland] tests: Test wl_message_count_arrays

Giulio Camuffo giuliocamuffo at gmail.com
Tue Nov 1 20:22:27 UTC 2016


2016-11-01 18:49 GMT+01:00 Yong Bakos <junk at humanoriented.com>:
> On Nov 1, 2016, at 10:35 AM, Giulio Camuffo <giuliocamuffo at gmail.com> wrote:
>>
>> Hi,
>>
>> I think i would put more messages in the array, just two seems like
>> it's not really testing much. Besides that it looks good.
>>
>>
>> Cheers,
>> Giulio
>
> Thanks Giulio, I'll add some more. My main concern (hence the RFC)
> is about ABI compatibility. I /think/ removing static is ok here,
> but I am not 100% confident.

It was never part of the ABI since it's internal, so yes, it's ok.

>
> yong
>
>
>> 2016-10-27 17:58 GMT+02:00 Yong Bakos <junk at humanoriented.com>:
>>> From: Yong Bakos <ybakos at humanoriented.com>
>>>
>>> message-test.c did not cover wl_message_count_arrays, so add one test that
>>> specifically tests this method. Note that this exposes wl_message_count_arrays
>>> in a private header (wayland-private.h), and removes the `static` modifier of
>>> the implementation.
>>>
>>> Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
>>> ---
>>> src/connection.c      |  2 +-
>>> src/wayland-private.h |  3 +++
>>> tests/message-test.c  | 17 +++++++++++++++++
>>> 3 files changed, 21 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/src/connection.c b/src/connection.c
>>> index c3293a9..5c3d187 100644
>>> --- a/src/connection.c
>>> +++ b/src/connection.c
>>> @@ -392,7 +392,7 @@ wl_connection_queue(struct wl_connection *connection,
>>>        return wl_buffer_put(&connection->out, data, count);
>>> }
>>>
>>> -static int
>>> +int
>>> wl_message_count_arrays(const struct wl_message *message)
>>> {
>>>        int i, arrays;
>>> diff --git a/src/wayland-private.h b/src/wayland-private.h
>>> index ef58ccf..676b181 100644
>>> --- a/src/wayland-private.h
>>> +++ b/src/wayland-private.h
>>> @@ -163,6 +163,9 @@ int
>>> arg_count_for_signature(const char *signature);
>>>
>>> int
>>> +wl_message_count_arrays(const struct wl_message *message);
>>> +
>>> +int
>>> wl_message_get_since(const struct wl_message *message);
>>>
>>> void
>>> diff --git a/tests/message-test.c b/tests/message-test.c
>>> index cb08f90..2f29875 100644
>>> --- a/tests/message-test.c
>>> +++ b/tests/message-test.c
>>> @@ -51,3 +51,20 @@ TEST(message_version)
>>>                       messages[i].expected_version);
>>>        }
>>> }
>>> +
>>> +TEST(message_count_arrays)
>>> +{
>>> +       unsigned int i;
>>> +       const struct {
>>> +               const struct wl_message *message;
>>> +               int expected_array_count;
>>> +       } messages[] = {
>>> +               { &wl_pointer_interface.events[WL_POINTER_ENTER], 0 },
>>> +               { &wl_keyboard_interface.events[WL_KEYBOARD_ENTER], 1 },
>>> +       };
>>> +
>>> +       for (i = 0; i < ARRAY_LENGTH(messages); ++i) {
>>> +               assert(wl_message_count_arrays(messages[i].message) ==
>>> +                      messages[i].expected_array_count);
>>> +       }
>>> +}
>>> --
>>> 2.7.2
>>>
>>> _______________________________________________
>>> wayland-devel mailing list
>>> wayland-devel at lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/wayland-devel
>


More information about the wayland-devel mailing list