On Thu, 21 Aug 2014 16:52:16 +0200 Marek Chalupa <mchqwe...@gmail.com> wrote:
> This patch introduces a set of functions that can create a display > and clients for tests. > On server side the user can use functions: > display_create() > display_destroy() > create_client() > display_run() > display_resume() > and on client side the user can use: > client_connect() > client_disconnect() > stop_display() > > The stop_display() and display_resume() are functions that serve as a > barrier and also allow the display to take some action after the > display_run() was called, because after the display is stopped, it > can run arbitrary code until it calls display_resume(). > > client_connect() function connects to wayland display and creates a > proxy to test_compositor global object, so it can ask for stopping > the display later using stop_display(). > > An example: > > void > client_main() > { > /* or client can use wl_display_connect(NULL) > * and do all the stuff manually */ > struct client *c = client_connect(); > > /* do some stuff, ... */ > > /* stop the display so that it can > * do some other stuff */ > stop_display(c, 1); > > /* ... */ > > client_disconnect(c); > } > > TEST(dummy_tst) > { > struct display *d = display_create(); > > /* set up the display */ > wl_global_create(d->wl_display, ...); > > /* ... */ > > create_client(d, client_main); > display_run(); > > /* if we are here, the display has been stopped > * and we can do some code, i. e. create another global or so > */ wl_global_create(d->wl_display, ...); > > /* ... */ > > display_resume(d); /* resume display and clients */ > > display_destroy(d); > } > > v2: > added/changed message in few asserts that were not clear > fixed codying style issues and typo > client_create_with_name: fixed a condition in an assert > get_socket_name: use also pid > check_error: fix errno -> err > > Signed-off-by: Marek Chalupa <mchqwe...@gmail.com> > --- > Makefile.am | 3 +- > tests/test-compositor.c | 467 > ++++++++++++++++++++++++++++++++++++++++++++++++ > tests/test-compositor.h | 97 ++++++++++ 3 files changed, 566 > insertions(+), 1 deletion(-) create mode 100644 > tests/test-compositor.c create mode 100644 tests/test-compositor.h Hi, excellent, pushed with some minor fixes. I also applied and pushed: [PATCH v2] tests: use test compositor in queue-test [PATCH 3/3] tests: test posting errors [PATCH] tests: test if thread can block on error [PATCH] tests: add tests for wl_display_cancel_read [PATCH] tests: add test for reading after an error occurred A couple of cases in the display tests fail as expected, and I am looking at their fixes next. Thanks, pq _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel