Changeset 234077 in webkit
- Timestamp:
- Jul 20, 2018 5:41:44 PM (6 years ago)
- Location:
- trunk/LayoutTests
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r234073 r234077 1 2018-07-20 Sihui Liu <sihui_liu@apple.com> 2 3 [ MacOS iOS ] Layout Test storage/indexeddb/modern/opendatabase-after-storage-crash.html is flaky 4 https://bugs.webkit.org/show_bug.cgi?id=187648 5 <rdar://problem/42405935> 6 7 Reviewed by Brady Eidson. 8 9 Make test wait until requests finish to get correct result, because indexedDB operations are asynchronous. 10 11 * storage/indexeddb/modern/opendatabase-after-storage-crash-expected.txt: 12 * storage/indexeddb/modern/opendatabase-after-storage-crash.html: 13 1 14 2018-07-19 Simon Fraser <simon.fraser@apple.com> 2 15 -
trunk/LayoutTests/platform/wk2/TestExpectations
r234015 r234077 737 737 738 738 http/tests/navigation/useragent-reload.php [ Pass ] 739 webkit.org/b/187648 storage/indexeddb/modern/opendatabase-after-storage-crash.html [ Pass Failure]739 storage/indexeddb/modern/opendatabase-after-storage-crash.html [ Pass ] 740 740 741 741 -
trunk/LayoutTests/storage/indexeddb/modern/opendatabase-after-storage-crash-expected.txt
r233562 r234077 1 Successfully opened the database in a new document 1 PASS sessionStorage[storageKey] is "Made it" 2 Successfully opened database with version 3. -
trunk/LayoutTests/storage/indexeddb/modern/opendatabase-after-storage-crash.html
r233662 r234077 2 2 <script src="../resources/shared.js"></script> 3 3 <body> 4 If this test completes quickly instead of hanging indefinitely, it has passed.4 This test verifies when storage process crashes, indexedDB operation should not hang indefinitely. 5 5 </body> 6 6 <script> … … 13 13 var request = window.indexedDB.open(dbname, 2); 14 14 request.onupgradeneeded = function(e) { 15 document.body.innerHTML = " openDatabase call after storage process termination should not have resulted in upgradeneeded";15 document.body.innerHTML = "Unexpected upgradeneeded after storage process termination. Database: name " + dbname + ", version 2."; 16 16 if (window.testRunner) 17 17 testRunner.notifyDone(); 18 } 18 19 19 }20 21 20 request.onerror = function(e) { 22 21 // Good, we received an expected error. 23 22 // Now reload to see if a new document connects successfully 24 23 if (sessionStorage[storageKey]) { 25 document.body.innerHTML = " Should not have reached this code twice!";24 document.body.innerHTML = "Received error more than once unexpectedly. Database: name " + dbname + ", version 2."; 26 25 if (window.testRunner) 27 26 testRunner.notifyDone(); 28 27 return; 29 28 } 30 29 31 30 sessionStorage[storageKey] = "Made it"; 32 31 location.reload(); … … 34 33 35 34 request.onsuccess = function(e) { 36 document.body.innerHTML = "Unexpected success during the second database open after document load. SessionStorage value: " + sessionStorage[storageKey];35 document.body.innerHTML = "Unexpected upgradeneeded after storage process termination. Database: name " + dbname + ", version 2. SessionStorage value: " + sessionStorage[storageKey] + "."; 37 36 if (window.testRunner) 38 37 testRunner.notifyDone(); … … 40 39 } 41 40 42 var versionToOpen = sessionStorage. finishedFirstOpen? 3 : 1;41 var versionToOpen = sessionStorage.doneFirstLoad ? 3 : 1; 43 42 var request = window.indexedDB.open(dbname, versionToOpen); 43 44 44 request.onupgradeneeded = function(e) { 45 if (sessionStorage.finishedFirstOpen) { 46 document.body.innerHTML = ""; 47 if (sessionStorage[storageKey] != "Made it") 48 document.body.innerHTML += "Expected error in the first pass of the test was NOT logged<br>"; 49 document.body.innerHTML += "Successfully opened the database in a new document" 45 if (sessionStorage.doneFirstLoad) { 46 document.body.innerHTML = "Successfully opened database with version " + versionToOpen + "."; 47 shouldBeEqualToString('sessionStorage[storageKey]', 'Made it'); 48 50 49 if (window.testRunner) 51 50 testRunner.notifyDone(); 52 51 } 53 52 54 sessionStorage.finishedFirstOpen = true; 55 56 if (window.testRunner) 57 testRunner.terminateStorageProcess(); 53 sessionStorage.doneFirstLoad = true; 58 54 59 55 // Set an error handler on the database connection so once the storage process terminates we know to continue the test … … 61 57 setTimeout(continueTest, 0); 62 58 } 59 60 if (window.testRunner) { 61 testRunner.waitUntilDone(); 62 testRunner.terminateStorageProcess(); 63 } 63 64 } 64 65 65 66 request.onerror = function(e) { 66 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]; 67 if (window.testRunner) 68 testRunner.notifyDone(); 67 if (versionToOpen == 1) 68 document.body.innerHTML = "Error on opening reuqest for database version 1. (FAIL: test should stop at opening version 3.)"; 69 69 } 70 70 71 71 request.onsuccess = function(e) { 72 document.body.innerHTML = "Unexpected success during the first database open on document load. DB opening: " + dbname + ". Version opening: " + versionToOpen + ". SessionStorage value: " + sessionStorage[storageKey]; 73 if (window.testRunner) 74 testRunner.notifyDone(); 72 if (versionToOpen == 1) 73 document.body.innerHTML = "Success on opening reuqest for database version 1. (FAIL: test should stop at opening version 3.)"; 75 74 } 76 75
Note: See TracChangeset
for help on using the changeset viewer.