A sequence of wl_pointer/wl_touch events are combined into a logical event by the terminating frame event. When tests ask for the current touch/pointer position, or window under touch/pointer, always return the current state, even if there is an incomplete logical event (ie: some events have been received, but not a terminating frame event).
There's no guarantee that a compositor will emit a complete logical event in a single flush of the protocol socket, so there's no guarantee that we won't run test code after receiving (for example) a wl_pointer.enter event but before processing a wl_pointer.frame.
A sequence of
wl_pointer
/wl_touch
events are combined into a logical event by the terminatingframe
event. When tests ask for the current touch/pointer position, or window under touch/pointer, always return the current state, even if there is an incomplete logical event (ie: some events have been received, but not a terminatingframe
event).There's no guarantee that a compositor will emit a complete logical event in a single flush of the protocol socket, so there's no guarantee that we won't run test code after receiving (for example) a
wl_pointer.enter
event but before processing awl_pointer.frame
.So it is incorrect to fail the test in such cases