wayland/tests
Manuel Stoeckl a0d941e411 event-loop-test: Verify proper timer cancellation
The implementation of timer event sources based on timerfds ensured
specific edge-case behavior with regards to removing and updating timers:

Calls to `wl_event_loop_dispatch` will dispatch all timer event sources
that have expired up to that point, with one exception. When multiple
timer event sources are due to be dispatched in a single call of
`wl_event_loop_dispatch`, calling wl_event_source_remove` from within a
timer event source callback will prevent the removed event source's
callback from being called. Note that disarming or updating one of the
later timers that is due to be dispatched, from within a timer callback,
will NOT prevent that timer's callback from being invoked by
`wl_event_loop_dispatch`.

This commit adds a test that verifies the above behavior. (Because
epoll_wait is not documented to return timerfds in chronological order,
(although it does, in practice), the test code does not depend on the
order in which timers are dispatched.)

Signed-off-by: Manuel Stoeckl <code@mstoeckl.com>
2020-01-21 11:31:35 +00:00
..
data scanner: prepend protocol name to types symbol 2019-09-11 13:27:03 -05:00
array-test.c Avoid pointer arithmetic on void * 2019-06-05 10:01:07 +00:00
client-test.c Use wl_container_of internally 2019-06-05 09:58:14 +00:00
compositor-introspection-test.c Add a resource creation signal 2016-08-12 11:43:02 +03:00
connection-test.c connection: fix demarshal of invalid header 2019-03-13 12:39:16 +02:00
cpp-compile-test.cpp tests: C++ compilation test 2015-01-27 11:17:42 +00:00
display-test.c tests: Ensure that overflow test always overflows 2020-01-15 13:18:56 +00:00
event-loop-test.c event-loop-test: Verify proper timer cancellation 2020-01-21 11:31:35 +00:00
exec-fd-leak-checker.c tests: Require base 10 for the string specifying the number of open fd's 2016-07-11 13:32:15 -07:00
fixed-benchmark.c fixed-benchmark: remove unused arguments in main 2015-07-10 17:17:46 -07:00
fixed-test.c tests: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-12 15:31:24 -07:00
headers-protocol-core-test.c tests: Check for client/server-core.h inclusion 2016-05-19 14:31:18 -07:00
headers-protocol-test.c tests: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-12 15:31:24 -07:00
headers-test.c tests: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-12 15:31:24 -07:00
interface-test.c tests: Test wl_interface_equal 2016-11-18 16:21:19 +02:00
list-test.c tests: Add test for wl_list_length 2016-09-05 15:10:43 +03:00
map-test.c (multiple): Include stdint.h 2016-07-25 18:39:32 -07:00
meson.build meson: use strict wayland-scanner mode 2020-01-15 13:26:20 +00:00
message-test.c tests: Add nullable check to wl_message_count_arrays 2016-11-18 16:59:23 +02:00
newsignal-test.c Move wl_priv_signal to wayland-server-private.h 2019-11-06 08:24:14 -06:00
os-wrappers-test.c (multiple): Include stdint.h 2016-07-25 18:39:32 -07:00
protocol-logger-test.c Add API to install protocol loggers on the server wl_display 2016-08-12 11:59:46 +03:00
proxy-test.c proxy: Add API to tag proxy objects 2019-07-29 16:47:36 +00:00
queue-test.c (multiple): Include stdint.h 2016-07-25 18:39:32 -07:00
resources-test.c tests: Add free-without-remove test 2018-04-20 13:19:13 -05:00
sanity-test.c tests: Remove memory leak checking infrastructure 2018-08-29 09:59:04 +01:00
scanner-test.sh tests: Verify that wayland_scanner can catch bad identifiers 2019-05-02 17:42:59 +00:00
signal-test.c tests: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-12 15:31:24 -07:00
socket-test.c tests: Overly elaborate compiler warning workaround 2018-08-29 09:59:04 +01:00
test-compositor.c tests: Fix race condition in send overflow test 2020-01-15 13:18:56 +00:00
test-compositor.h tests: Fix race condition in send overflow test 2020-01-15 13:18:56 +00:00
test-helpers.c Support running tests from different build directories 2020-01-10 23:42:59 +01:00
test-runner.c log: remove "%m" from format strings by using strerror(errno) 2019-05-02 22:14:53 +02:00
test-runner.h tests: Remove memory leak checking infrastructure 2018-08-29 09:59:04 +01:00