weston/tests
Marius Vlad 640a3c7165 xcb-client-helper: Add a XCB client helper for tests
This patch introduces a small library wrapper around XCB to be used in
Xwayland tests.

It's being designed such that we do not advance without accounting for
all X11 events when changing the window state.  It adds a fence that
waits for all events to be processed, and only after all the events have
been accounted for, to proceed further, resuming execution of the
tests.

This works by keeping a tentative_state list for the client and a
window state that gets applied when the event we waited for has been
received.

This is useful in test clients, which could verify at the end after
receiving all events that the correct state has been applied. Acts as a
way to verify that the we never get or have a different state than the
one we expect.

With it, this converts test-xwayland to using libxcb (together with
xcb-cursor-dev) rather than using Xlib, and with it it removes any Xlib
dependency we might have in the tests.

This only adds support for map/unmap/create/destroy/property notify.
A follow-up would be to expand this library to track window movement
and resizing.

Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
2023-03-03 08:30:46 +00:00
..
reference tests: add output_icc_decorations 2022-12-02 13:36:25 +00:00
visualization tests/alpha-blending: replace compare_float() with rgb_diff_stat 2022-06-30 09:08:32 +00:00
alpha-blending-test.c tests: Add the ability the specify the output name 2023-01-25 17:55:39 +00:00
bad-buffer-test.c tests: Use test-desktop-shell more widely 2022-11-04 10:24:42 +00:00
buffer-transforms-test.c tests: Add the ability the specify the output name 2023-01-25 17:55:39 +00:00
color_util.c tests/color_util: expose color_float_apply_curve() 2022-07-01 07:46:02 +00:00
color_util.h tests/color_util: expose color_float_apply_curve() 2022-07-01 07:46:02 +00:00
color-icc-output-test.c tests: Add the ability the specify the output name 2023-01-25 17:55:39 +00:00
color-manager-test.c tests: use enum weston_renderer_type 2023-01-18 14:16:41 +01:00
color-metadata-errors-test.c tests: add color-metadata-errors test 2022-05-27 10:30:35 +00:00
color-metadata-parsing-test.c tests: use enum weston_renderer_type 2023-01-18 14:16:41 +01:00
config-parser-test.c tests: Use memstream for config-parser test 2022-07-05 10:15:49 +01:00
custom-env-test.c custom-env: Add helper to parse combined env/arg strings 2022-07-19 14:12:37 +00:00
devices-test.c tests: Use test-desktop-shell for devices-test 2022-06-29 11:38:36 +00:00
drm-formats-test.c drm-formats: add weston_drm_format_array_count_pairs() 2021-11-25 10:47:45 -03:00
drm-smoke-test.c drm-smoke-test: Explicitly set-up the output name DRM test 2023-01-25 17:55:39 +00:00
event-test.c tests: Use test-desktop-shell more widely 2022-11-04 10:24:42 +00:00
image-iter.h tests/color-icc-output: extract image-iter.h 2022-06-16 08:52:12 +00:00
input-timestamps-helper.c tests: replace fprintf() with testlog() 2019-11-22 12:54:10 +02:00
input-timestamps-helper.h tests: Introduce input timestamps helper 2018-02-20 10:20:29 +02:00
internal-screenshot-test.c tests: Add the ability the specify the output name 2023-01-25 17:55:39 +00:00
ivi-layout-internal-test.c tests: migrate ivi-layout-internal 2020-01-30 10:10:35 +00:00
ivi-layout-test-client.c tests: fix leaks in ivi-layout-test-client 2021-06-16 14:41:08 +00:00
ivi-layout-test-plugin.c tests: preserve ivi runner section 2022-03-08 14:50:41 +02:00
ivi-shell-app-test.c tests: fix leak in ivi-shell-app-test 2021-06-16 14:41:08 +00:00
ivi-test.h ivi-shell: implement surface_on_many_layer test 2016-06-29 11:32:23 +03:00
keyboard-test.c tests: Use test-desktop-shell more widely 2022-11-04 10:24:42 +00:00
lcms_util.c tests/lcms_util: add SetTextTags() 2022-06-03 10:22:25 +00:00
lcms_util.h tests/lcms_util: add SetTextTags() 2022-06-03 10:22:25 +00:00
lcms-util-test.c tests: add lcms-util with MPE curves 2022-06-03 10:22:25 +00:00
linux-explicit-synchronization-test.c tests: use enum weston_renderer_type 2023-01-18 14:16:41 +01:00
matrix-test.c tests: add matrix-test for CI 2022-05-31 12:26:09 +00:00
matrix-transform-test.c compositor: Add dirty bits to paint nodes 2023-02-02 13:49:39 +00:00
meson.build xcb-client-helper: Add a XCB client helper for tests 2023-03-03 08:30:46 +00:00
output-capture-protocol-test.c tests: use enum weston_renderer_type 2023-01-18 14:16:41 +01:00
output-damage-test.c tests: Add the ability the specify the output name 2023-01-25 17:55:39 +00:00
output-decorations-test.c tests: use enum weston_renderer_type 2023-01-18 14:16:41 +01:00
output-transforms-test.c tests: Add the ability the specify the output name 2023-01-25 17:55:39 +00:00
plugin-registry-test.c tests: Use test-desktop-shell more widely 2022-11-04 10:24:42 +00:00
pointer-shot-test.c tests: Add the ability the specify the output name 2023-01-25 17:55:39 +00:00
pointer-test.c tests: Use test-desktop-shell more widely 2022-11-04 10:24:42 +00:00
presentation-test.c tests: Use test-desktop-shell more widely 2022-11-04 10:24:42 +00:00
roles-test.c tests: Use test-desktop-shell more widely 2022-11-04 10:24:42 +00:00
safe-signal-output-removal-test.c shell-utils: Integrate shell-utils into libweston 2023-01-09 22:13:07 +00:00
safe-signal-test.c safe-signal-test: Fix leak 2022-06-29 14:33:21 +01:00
setbacklight.c tests: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-15 13:04:19 -07:00
single-pixel-buffer-test.c tests: Add the ability the specify the output name 2023-01-25 17:55:39 +00:00
string-test.c tests: add missing include 2017-01-23 14:12:06 +02:00
subsurface-shot-test.c tests: Add the ability the specify the output name 2023-01-25 17:55:39 +00:00
subsurface-test.c tests: Use test-desktop-shell more widely 2022-11-04 10:24:42 +00:00
surface-global-test.c libweston: Use weston_coord space conversion functions 2023-02-01 07:27:05 -06:00
surface-screenshot-test.c Unify the include style of shared/ headers 2019-10-04 16:04:48 +03:00
surface-test.c libweston: Use weston_coord space conversion functions 2023-02-01 07:27:05 -06:00
text-test.c tests: Explicitly use desktop-shell for text-test 2022-11-04 10:24:42 +00:00
timespec-test.c Unify the include style of shared/ headers 2019-10-04 16:04:48 +03:00
touch-test.c tests: Don't send real coordinates with WL_TOUCH_UP events 2023-02-09 12:12:40 +00:00
vertex-clip-test.c clipping: Use struct weston_coord in vertex clipping code 2023-02-09 12:12:40 +00:00
viewporter-shot-test.c tests: Add the ability the specify the output name 2023-01-25 17:55:39 +00:00
viewporter-test.c tests: Use test-desktop-shell more widely 2022-11-04 10:24:42 +00:00
weston-test-client-helper.c tests: Add the ability the specify the output name 2023-01-25 17:55:39 +00:00
weston-test-client-helper.h tests: Add the ability the specify the output name 2023-01-25 17:55:39 +00:00
weston-test-desktop-shell.c shell-utils: Integrate shell-utils into libweston 2023-01-09 22:13:07 +00:00
weston-test-fixture-compositor.c tests: use enum weston_renderer_type 2023-01-18 14:16:41 +01:00
weston-test-fixture-compositor.h tests: use enum weston_renderer_type 2023-01-18 14:16:41 +01:00
weston-test-runner.c tests: add TAP version line 2023-01-10 11:23:11 +00:00
weston-test-runner.h tests: Bump alignment for test structures to 64 bytes 2021-08-03 18:42:25 +01:00
weston-test.c libweston: Use weston_coord in surface committed handler 2023-02-24 18:44:19 +00:00
weston-testsuite-data.h tests: use fixture names in reports 2021-02-17 12:52:33 +00:00
xcb-client-helper.c xcb-client-helper: Add a XCB client helper for tests 2023-03-03 08:30:46 +00:00
xcb-client-helper.h xcb-client-helper: Add a XCB client helper for tests 2023-03-03 08:30:46 +00:00
xwayland-test.c xcb-client-helper: Add a XCB client helper for tests 2023-03-03 08:30:46 +00:00
yuv-buffer-test.c tests: Add the ability the specify the output name 2023-01-25 17:55:39 +00:00