[PATCH v2] tests: add test-compositor
Pekka Paalanen
ppaalanen at gmail.com
Fri Aug 22 03:19:00 PDT 2014
On Thu, 21 Aug 2014 16:52:16 +0200
Marek Chalupa <mchqwerty at 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 <mchqwerty at 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
More information about the wayland-devel
mailing list