Add a test to check that we can destroy and create the test seat. Since after test seat destruction the test client releases any associated input resources, this test also checks that libweston properly handles release requests for inert input resources.
Signed-off-by: Alexandros Frantzis <alexandros.frant...@collabora.com> --- Changes in v2: - Add assertions for client->input state. tests/devices-test.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tests/devices-test.c b/tests/devices-test.c index a6ec6eaf..147a2791 100644 --- a/tests/devices-test.c +++ b/tests/devices-test.c @@ -322,3 +322,25 @@ TEST(seats_have_names) assert(input->seat_name); } } + +TEST(seat_destroy_and_recreate) +{ + struct client *cl = create_client_and_test_surface(100, 100, 100, 100); + + weston_test_device_release(cl->test->weston_test, "seat"); + /* Roundtrip to receive and handle the seat global removal event */ + client_roundtrip(cl); + + assert(!cl->input); + + weston_test_device_add(cl->test->weston_test, "seat"); + /* First roundtrip to send request and receive new seat global */ + client_roundtrip(cl); + /* Second roundtrip to handle seat events and set up input devices */ + client_roundtrip(cl); + + assert(cl->input); + assert(cl->input->pointer); + assert(cl->input->keyboard); + assert(cl->input->touch); +} -- 2.14.1 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel