canonical / wlcs

Wayland Conformance Test Suite
GNU General Public License v2.0
50 stars 14 forks source link

wlcs::Client: Handle incomplete logical pointer/touch events better. #313

Closed RAOF closed 1 year ago

RAOF commented 1 year ago

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.

So it is incorrect to fail the test in such cases

RAOF commented 1 year ago

See also: this exchange in #Mir

RAOF commented 1 year ago

See also: this exchange in #Mir