Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: a08ec0dd1f5593f7845b88891bae4d23f1399b88
https://github.com/WebKit/WebKit/commit/a08ec0dd1f5593f7845b88891bae4d23f1399b88
Author: Wenson Hsieh <[email protected]>
Date: 2024-08-01 (Thu, 01 Aug 2024)
Changed paths:
M Tools/TestWebKitAPI/Tests/WebKitCocoa/IndexedDBTempFileSize.mm
M Tools/TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm
Log Message:
-----------
[ Sonoma Release ] 2 Storage API tests are flaky timeouts.
https://bugs.webkit.org/show_bug.cgi?id=277455
rdar://132941950
Reviewed by Abrar Rahman Protyasha.
Adjust two API tests, IndexedDB.IndexedDBTempFileSize and
WKWebView.LocalStorageProcessCrashes, so
that they're more robust. Currently, these tests both trigger actions that
cause the web process to
post exactly two script messages and then use the following pattern to wait for
both messages to be
received in `TestWebKitAPI`:
```
receivedScriptMessage = false;
TestWebKitAPI::Util::run(&receivedScriptMessage); // <--- (a)
receivedScriptMessage = false;
TestWebKitAPI::Util::run(&receivedScriptMessage); // <--- (b)
```
...however, it's possible for both messages to be posted right after each other
in the UI process,
causing *both* messages to be received when the runloop turns in step (a),
marked above. This
results in a timeout, as (b) will never return since the second message has
already been received.
To avoid this flaky timeout, we can simply refactor these two tests so that we
wait for the second
message to be received in the UI process, keep track of all messages received
in an array, and then
check the contents of the array instead of the last received message.
* Tools/TestWebKitAPI/Tests/WebKitCocoa/IndexedDBTempFileSize.mm:
(-[IndexedDBFileSizeMessageHandler
userContentController:didReceiveScriptMessage:]):
(TEST(IndexedDB, IndexedDBTempFileSize)):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm:
(-[LocalStorageMessageHandler userContentController:didReceiveScriptMessage:]):
(TEST(WKWebView, LocalStorageProcessCrashes)):
Canonical link: https://commits.webkit.org/281707@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes