[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