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

Pekka Paalanen ppaalanen at gmail.com
Tue Oct 18 09:05:32 UTC 2016


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?


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: not available
Type: application/pgp-signature
Size: 801 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20161018/d4b66085/attachment.sig>


More information about the wayland-devel mailing list