[PATCH wayland v2 4/4] array-test: Include wayland-util.h and simplify init test

Yong Bakos junk at humanoriented.com
Tue Oct 18 15:28:09 UTC 2016


On Oct 18, 2016, at 2:05 AM, Pekka Paalanen <ppaalanen at gmail.com> wrote:
> 
> On Tue, 27 Sep 2016 23:27:00 +0200
> Dima Ryazanov <dima at gmail.com> wrote:
> 
>> I think I actually know the point of the test.
>> 
>> It tries to verify that size, alloc, and data were initialized to 0, rather
>> than left uninitialized - but the difficulty is that uninitialized memory
>> is often already filled with 0s. So the test repeats the process a whole
>> bunch of times, hoping to eventually catch non-0 uninitialized memory.
> 
> If that was the idea, still the code is so small and deterministic that I
> can't see how round 2 could ever differ from round 3067.
> 
>> (That doesn't mean it's a good way to test it, though, so I have nothing
>> against removing it. Something like valgrind is probably better.)
> 
> Right. Even memset(&arr, 0x57, sizeof arr) before wl_array_init() would
> be much better.
> 
> Yong, do you mind if I add the memset there on top of your patch?

Go for it. Thanks Pekka.

yong


> 
> 
> Thanks,
> pq
> 
>> On Tue, Sep 27, 2016 at 8:03 PM, Yong Bakos <junk at humanoriented.com> wrote:
>> 
>>> From: Yong Bakos <ybakos at humanoriented.com>
>>> 
>>> Include wayland-util.h in addition to wayland-private.h, to be more
>>> explicit
>>> about where wl_array is defined.
>>> 
>>> Remove the useless repeated testing of wl_array_init, because if it fails
>>> once
>>> out of thousands of iterations we're all doomed anyway.
>>> 
>>> Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
>>> Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
>>> Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
>>> ---
>>> v2: Add empty line (pq)
>>> 
>>> tests/array-test.c | 18 ++++++------------
>>> 1 file changed, 6 insertions(+), 12 deletions(-)
>>> 
>>> diff --git a/tests/array-test.c b/tests/array-test.c
>>> index b0de8e6..ed6fbfb 100644
>>> --- a/tests/array-test.c
>>> +++ b/tests/array-test.c
>>> @@ -25,24 +25,18 @@
>>> 
>>> #include <stdlib.h>
>>> #include <assert.h>
>>> +#include "wayland-util.h"
>>> #include "wayland-private.h"
>>> #include "test-runner.h"
>>> 
>>> TEST(array_init)
>>> {
>>> -       const int iterations = 4122; /* this is arbitrary */
>>> -       int i;
>>> -
>>> -       /* Init array an arbitray amount of times and verify the
>>> -        * defaults are sensible. */
>>> +       struct wl_array array;
>>> 
>>> -       for (i = 0; i < iterations; i++) {
>>> -               struct wl_array array;
>>> -               wl_array_init(&array);
>>> -               assert(array.size == 0);
>>> -               assert(array.alloc == 0);
>>> -               assert(array.data == 0);
>>> -       }
>>> +       wl_array_init(&array);
>>> +       assert(array.size == 0);
>>> +       assert(array.alloc == 0);
>>> +       assert(array.data == 0);
>>> }
>>> 
>>> TEST(array_release)
>>> --
>>> 2.7.2
>>> 
>>> _______________________________________________
>>> wayland-devel mailing list
>>> wayland-devel at lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/wayland-devel
>>> 
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 842 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20161018/2403941c/attachment.sig>


More information about the wayland-devel mailing list