From 9d8c9777a46a37818a6c4a336f0ff5c4d79f5f18 Mon Sep 17 00:00:00 2001 From: Johannes Altmanninger Date: Sat, 13 Jan 2024 14:18:18 +0100 Subject: [PATCH] Await all UI events after each key press in mouse-during-insert test This test doesn't care about testing things like "if I send the next key before we have finished reacting to the previous ones, nothing bad ever happens". Hence we can until exhaustion after each input. This should fix bespoke flakiness. The handling of "c" should be atomic. This reasoning probably applies to most tests; waiting for all events seems like the safest and easiest approach overall (compared to sleep or sleep-until). The downside is that the tests need changes when UI code changes but it rarely does, and if it does we can automate the updates. Closes #5073 --- test/regression/0-mouse-during-insert/script | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/test/regression/0-mouse-during-insert/script b/test/regression/0-mouse-during-insert/script index c85d78d6..439d70d3 100644 --- a/test/regression/0-mouse-during-insert/script +++ b/test/regression/0-mouse-during-insert/script @@ -1,10 +1,13 @@ ui_out -ignore 7 ui_in '{ "jsonrpc": "2.0", "method": "keys", "params": [ "i" ] }' +ui_out -ignore 4 ui_in '{ "jsonrpc": "2.0", "method": "keys", "params": [ "a" ] }' -ui_out -ignore 8 +ui_out -ignore 4 ui_in '{ "jsonrpc": "2.0", "method": "mouse_press", "params": [ "left", 0, 2 ] }' +ui_out -ignore 4 ui_in '{ "jsonrpc": "2.0", "method": "keys", "params": [ "b" ] }' -ui_out -ignore 8 +ui_out -ignore 4 ui_in '{ "jsonrpc": "2.0", "method": "mouse_release", "params": [ "left", 0, 4 ] }' +ui_out -ignore 4 ui_in '{ "jsonrpc": "2.0", "method": "keys", "params": [ "c" ] }' -ui_out -ignore 1 +ui_out -ignore 4