NEW 207066
[ macOS wk1 ] editing/execCommand/insert-nested-lists.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=207066
Summary [ macOS wk1 ] editing/execCommand/insert-nested-lists.html is flaky failing
Jacob Uphoff
Reported 2020-01-31 13:13:22 PST
editing/execCommand/insert-nested-lists.html This flaky failure has been happening for all visible history on Catalina and Mojave I was able to reproduce by running the test in iterations History: https://results.webkit.org/?suite=layout-tests&test=editing%2FexecCommand%2Finsert-nested-lists.html Diff: https://build.webkit.org/results/Apple-Catalina-Debug-WK1-Tests/r255510%20(2186)/editing/execCommand/insert-nested-lists-diff.txt
Attachments
Update Test Expectations (1.61 KB, patch)
2020-01-31 13:16 PST, Jacob Uphoff
no flags
Jacob Uphoff
Comment 1 2020-01-31 13:16:55 PST
Created attachment 389398 [details] Update Test Expectations
Radar WebKit Bug Importer
Comment 2 2020-01-31 13:21:35 PST
Truitt Savell
Comment 3 2020-01-31 13:25:15 PST
Comment on attachment 389398 [details] Update Test Expectations Clearing flags on attachment: 389398 Committed r255520: <https://trac.webkit.org/changeset/255520>
Alexey Proskuryakov
Comment 4 2020-02-01 18:26:06 PST
Presumably this part is insufficient to deflake it? // By default, AppKit on macOS coalesces undo operations that occur within the same runloop. Wait until the next // runloop before inserting another unordered list to ensure that it gets its own entry in the undo stack. await new Promise((resolve) => { if (window.testRunner) testRunner.runUIScript(`(function() { uiController.uiScriptComplete(); })()`, resolve); else setTimeout(resolve, 500); });
Ryosuke Niwa
Comment 5 2020-04-02 14:09:54 PDT
(In reply to Alexey Proskuryakov from comment #4) > Presumably this part is insufficient to deflake it? > > // By default, AppKit on macOS coalesces undo operations that occur > within the same runloop. Wait until the next > // runloop before inserting another unordered list to ensure that it > gets its own entry in the undo stack. > await new Promise((resolve) => { > if (window.testRunner) > testRunner.runUIScript(`(function() { > uiController.uiScriptComplete(); })()`, resolve); > else > setTimeout(resolve, 500); > }); Hm... going to the UI script in theory should be sufficient but I guess not.
Wenson Hsieh
Comment 6 2020-04-02 14:56:59 PDT
(In reply to Ryosuke Niwa from comment #5) > (In reply to Alexey Proskuryakov from comment #4) > > Presumably this part is insufficient to deflake it? > > > > // By default, AppKit on macOS coalesces undo operations that occur > > within the same runloop. Wait until the next > > // runloop before inserting another unordered list to ensure that it > > gets its own entry in the undo stack. > > await new Promise((resolve) => { > > if (window.testRunner) > > testRunner.runUIScript(`(function() { > > uiController.uiScriptComplete(); })()`, resolve); > > else > > setTimeout(resolve, 500); > > }); > > Hm... going to the UI script in theory should be sufficient but I guess not. I’m not sure if runUIScript is sufficient to ensure that the we proceed after the next runloop in WebKit1. Maybe we need to call uiController.doAsyncTask() instead?
Note You need to log in before you can comment on or make changes to this bug.