Title: [234077] trunk/LayoutTests
- Revision
- 234077
- Author
- [email protected]
- Date
- 2018-07-20 17:41:44 -0700 (Fri, 20 Jul 2018)
Log Message
[ MacOS iOS ] Layout Test storage/indexeddb/modern/opendatabase-after-storage-crash.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=187648
<rdar://problem/42405935>
Reviewed by Brady Eidson.
Make test wait until requests finish to get correct result, because indexedDB operations are asynchronous.
* storage/indexeddb/modern/opendatabase-after-storage-crash-expected.txt:
* storage/indexeddb/modern/opendatabase-after-storage-crash.html:
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (234076 => 234077)
--- trunk/LayoutTests/ChangeLog 2018-07-21 00:30:09 UTC (rev 234076)
+++ trunk/LayoutTests/ChangeLog 2018-07-21 00:41:44 UTC (rev 234077)
@@ -1,3 +1,16 @@
+2018-07-20 Sihui Liu <[email protected]>
+
+ [ MacOS iOS ] Layout Test storage/indexeddb/modern/opendatabase-after-storage-crash.html is flaky
+ https://bugs.webkit.org/show_bug.cgi?id=187648
+ <rdar://problem/42405935>
+
+ Reviewed by Brady Eidson.
+
+ Make test wait until requests finish to get correct result, because indexedDB operations are asynchronous.
+
+ * storage/indexeddb/modern/opendatabase-after-storage-crash-expected.txt:
+ * storage/indexeddb/modern/opendatabase-after-storage-crash.html:
+
2018-07-19 Simon Fraser <[email protected]>
Remove completed animations from GraphicsLayer, thus avoiding excessive backing store allocation
Modified: trunk/LayoutTests/platform/wk2/TestExpectations (234076 => 234077)
--- trunk/LayoutTests/platform/wk2/TestExpectations 2018-07-21 00:30:09 UTC (rev 234076)
+++ trunk/LayoutTests/platform/wk2/TestExpectations 2018-07-21 00:41:44 UTC (rev 234077)
@@ -736,7 +736,7 @@
http/wpt/cross-origin-resource-policy/ [ Pass ]
http/tests/navigation/useragent-reload.php [ Pass ]
-webkit.org/b/187648 storage/indexeddb/modern/opendatabase-after-storage-crash.html [ Pass Failure ]
+storage/indexeddb/modern/opendatabase-after-storage-crash.html [ Pass ]
### END OF (5) Progressions, expected successes that are expected failures in WebKit1.
Modified: trunk/LayoutTests/storage/indexeddb/modern/opendatabase-after-storage-crash-expected.txt (234076 => 234077)
--- trunk/LayoutTests/storage/indexeddb/modern/opendatabase-after-storage-crash-expected.txt 2018-07-21 00:30:09 UTC (rev 234076)
+++ trunk/LayoutTests/storage/indexeddb/modern/opendatabase-after-storage-crash-expected.txt 2018-07-21 00:41:44 UTC (rev 234077)
@@ -1 +1,2 @@
-Successfully opened the database in a new document
+PASS sessionStorage[storageKey] is "Made it"
+Successfully opened database with version 3.
Modified: trunk/LayoutTests/storage/indexeddb/modern/opendatabase-after-storage-crash.html (234076 => 234077)
--- trunk/LayoutTests/storage/indexeddb/modern/opendatabase-after-storage-crash.html 2018-07-21 00:30:09 UTC (rev 234076)
+++ trunk/LayoutTests/storage/indexeddb/modern/opendatabase-after-storage-crash.html 2018-07-21 00:41:44 UTC (rev 234077)
@@ -1,7 +1,7 @@
<script src=""
<script src=""
<body>
-If this test completes quickly instead of hanging indefinitely, it has passed.
+This test verifies when storage process crashes, indexedDB operation should not hang indefinitely.
</body>
<script>
@@ -12,66 +12,65 @@
{
var request = window.indexedDB.open(dbname, 2);
request._onupgradeneeded_ = function(e) {
- document.body.innerHTML = "openDatabase call after storage process termination should not have resulted in upgradeneeded";
+ document.body.innerHTML = "Unexpected upgradeneeded after storage process termination. Database: name " + dbname + ", version 2.";
if (window.testRunner)
testRunner.notifyDone();
+ }
- }
-
request._onerror_ = function(e) {
// Good, we received an expected error.
// Now reload to see if a new document connects successfully
if (sessionStorage[storageKey]) {
- document.body.innerHTML = "Should not have reached this code twice!";
+ document.body.innerHTML = "Received error more than once unexpectedly. Database: name " + dbname + ", version 2.";
if (window.testRunner)
testRunner.notifyDone();
return;
}
-
+
sessionStorage[storageKey] = "Made it";
location.reload();
}
request._onsuccess_ = function(e) {
- document.body.innerHTML = "Unexpected success during the second database open after document load. SessionStorage value: " + sessionStorage[storageKey];
+ document.body.innerHTML = "Unexpected upgradeneeded after storage process termination. Database: name " + dbname + ", version 2. SessionStorage value: " + sessionStorage[storageKey] + ".";
if (window.testRunner)
testRunner.notifyDone();
}
}
-var versionToOpen = sessionStorage.finishedFirstOpen ? 3 : 1;
+var versionToOpen = sessionStorage.doneFirstLoad ? 3 : 1;
var request = window.indexedDB.open(dbname, versionToOpen);
+
request._onupgradeneeded_ = function(e) {
- if (sessionStorage.finishedFirstOpen) {
- document.body.innerHTML = "";
- if (sessionStorage[storageKey] != "Made it")
- document.body.innerHTML += "Expected error in the first pass of the test was NOT logged<br>";
- document.body.innerHTML += "Successfully opened the database in a new document"
+ if (sessionStorage.doneFirstLoad) {
+ document.body.innerHTML = "Successfully opened database with version " + versionToOpen + ".";
+ shouldBeEqualToString('sessionStorage[storageKey]', 'Made it');
+
if (window.testRunner)
testRunner.notifyDone();
}
- sessionStorage.finishedFirstOpen = true;
-
- if (window.testRunner)
- testRunner.terminateStorageProcess();
+ sessionStorage.doneFirstLoad = true;
// Set an error handler on the database connection so once the storage process terminates we know to continue the test
e.target.result._onerror_ = function(e) {
setTimeout(continueTest, 0);
}
+
+ if (window.testRunner) {
+ testRunner.waitUntilDone();
+ testRunner.terminateStorageProcess();
+ }
}
request._onerror_ = function(e) {
- document.body.innerHTML = "Unexpected error during the first database open on document load. Message: " + e.message + ". DB opening: " + dbname + ". Version opening: " + versionToOpen + ". SessionStorage value: " + sessionStorage[storageKey];
- if (window.testRunner)
- testRunner.notifyDone();
+ if (versionToOpen == 1)
+ document.body.innerHTML = "Error on opening reuqest for database version 1. (FAIL: test should stop at opening version 3.)";
}
request._onsuccess_ = function(e) {
- document.body.innerHTML = "Unexpected success during the first database open on document load. DB opening: " + dbname + ". Version opening: " + versionToOpen + ". SessionStorage value: " + sessionStorage[storageKey];
- if (window.testRunner)
- testRunner.notifyDone();
+ if (versionToOpen == 1)
+ document.body.innerHTML = "Success on opening reuqest for database version 1. (FAIL: test should stop at opening version 3.)";
}
</script>
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes