diff options
| author | Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> | 2012-03-14 14:47:40 +0200 |
|---|---|---|
| committer | Kristian Høgsberg <krh@bitplanet.net> | 2012-03-20 15:49:27 -0400 |
| commit | 707623f0cb21391f0f7e62c79cb0df9cb6329aba (patch) | |
| tree | 6532082e0973331b6b9e79560d93f2c0f3374d91 /tests/event-loop-test.c | |
| parent | event-loop: always do the post-dispatch check (diff) | |
| download | wayland-707623f0cb21391f0f7e62c79cb0df9cb6329aba.tar wayland-707623f0cb21391f0f7e62c79cb0df9cb6329aba.tar.gz wayland-707623f0cb21391f0f7e62c79cb0df9cb6329aba.tar.bz2 wayland-707623f0cb21391f0f7e62c79cb0df9cb6329aba.tar.lz wayland-707623f0cb21391f0f7e62c79cb0df9cb6329aba.tar.xz wayland-707623f0cb21391f0f7e62c79cb0df9cb6329aba.tar.zst wayland-707623f0cb21391f0f7e62c79cb0df9cb6329aba.zip | |
test: add a unit test for the event loop post dispatch check
Diffstat (limited to 'tests/event-loop-test.c')
| -rw-r--r-- | tests/event-loop-test.c | 53 |
1 files changed, 53 insertions, 0 deletions
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 <stdlib.h> +#include <assert.h> +#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); +} |
