From: Ander Conselvan de Oliveira Date: Wed, 14 Mar 2012 12:47:40 +0000 (+0200) Subject: test: add a unit test for the event loop post dispatch check X-Git-Tag: 0.94.90~155 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=707623f0cb21391f0f7e62c79cb0df9cb6329aba;p=profile%2Fivi%2Fwayland.git test: add a unit test for the event loop post dispatch check --- diff --git a/tests/Makefile.am b/tests/Makefile.am index ae82671..cf81c0e 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,13 +1,16 @@ TESTS = $(check_PROGRAMS) -check_PROGRAMS = array-test map-test list-test connection-test +check_PROGRAMS = array-test map-test list-test connection-test event-loop-test map_test_SOURCES = map-test.c test-runner.c test-runner.h array_test_SOURCES = array-test.c test-runner.c list_test_SOURCES = list-test.c test-runner.c connection_test_SOURCES = connection-test.c test-runner.c +event_loop_test_SOURCES = event-loop-test.c test-runner.c AM_CFLAGS = $(GCC_CFLAGS) -LDADD = $(top_builddir)/src/libwayland-util.la -lrt $(FFI_LIBS) +LDADD = $(top_builddir)/src/libwayland-util.la \ + $(top_builddir)/src/libwayland-server.la \ + -lrt $(FFI_LIBS) diff --git a/tests/event-loop-test.c b/tests/event-loop-test.c new file mode 100644 index 0000000..5570f90 --- /dev/null +++ b/tests/event-loop-test.c @@ -0,0 +1,53 @@ +/* + * Copyright © 2012 Intel Corporation + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#include +#include +#include "../src/wayland-server.h" +#include "test-runner.h" + +static int +fd_dispatch(int fd, uint32_t mask, void *data) +{ + int *p = data; + + *p = 1; + + return 0; +} + +TEST(post_dispatch_check) +{ + struct wl_event_loop *loop = wl_event_loop_create(); + struct wl_event_source *source; + int dispatch_ran = 0; + + source = wl_event_loop_add_fd(loop, 1, WL_EVENT_READABLE, + fd_dispatch, &dispatch_ran); + wl_event_source_check(source); + + wl_event_loop_dispatch(loop, 0); + assert(dispatch_ran); + + wl_event_source_remove(source); + wl_event_loop_destroy(loop); +}