Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

unflake t/525-i3bar-mouse-bindings.t #3214

Merged
merged 4 commits into from
Mar 30, 2018
Merged

unflake t/525-i3bar-mouse-bindings.t #3214

merged 4 commits into from
Mar 30, 2018

Conversation

stapelberg
Copy link
Member

Our current synchronization methods were not sufficient, and hence t/525-i3bar-mouse-bindings.t was flaky: thus far, we could synchronize our X11 connection with i3 or i3bar, but we could not synchronize i3bar’s IPC connection with i3. This pull requests introduces the “sync” IPC command to address that shortcoming.

Further, it turns out we need to synchronize with both i3 and i3bar, so the pull request also fixes that.

With the pull request applied, I have not been able to get t/525-i3bar-mouse-bindings.t to fail.

related to #3009

Sending the sync command via IPC ensures pending IPC messages are handled by i3
before the sync response is read. This is rarely useful for direct IPC
connections to i3, but becomes useful when synchronizing with i3bar, which might
have pending IPC messages in response to button clicks.
i3bar’s X11 output is not what our testcases are testing — the state
manipulations which i3bar triggers via IPC messages to i3 are what we are
interested in.
See the comment in the code for rationale.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants