Changeset 256235 in webkit


Ignore:
Timestamp:
Feb 10, 2020 6:08:05 PM (4 years ago)
Author:
sihui_liu@apple.com
Message:

REGRESSION: (253807) [ macOS iOS ] storage/indexeddb/intversion-long-queue-private.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=206965
<rdar://problem/59005652>

Reviewed by Ryosuke Niwa.

Modify a test to make it less flaky. Based on our current implementation, there is no guarantee that Block event on
delete request would be fired before Complete event on transaction from connection2 in this test. The events
sequence we are sure are:

  1. UpgradeNeeded event on openRequest2 -> VersionChange event on connection2 -> Complete event on VersionChange

transaction on connection2 -> Success event on openRequest2.

  1. VersionChange event on connection2 -> Block event on delete request.

Therefore I am changing the test to ensure sequence 1.

  • platform/ios-wk2/TestExpectations:
  • platform/mac/TestExpectations:
  • storage/indexeddb/intversion-long-queue-expected.txt:
  • storage/indexeddb/intversion-long-queue-private-expected.txt:
  • storage/indexeddb/resources/intversion-long-queue.js:

(connection2Blocked):
(connection2UpgradeNeeded):
(connection2VersionChangeCallback):
(deleteDatabaseBlockedCallback): Deleted.

Location:
trunk/LayoutTests
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r256231 r256235  
     12020-02-10  Sihui Liu  <sihui_liu@apple.com>
     2
     3        REGRESSION: (253807) [ macOS iOS ] storage/indexeddb/intversion-long-queue-private.html is flaky failing
     4        https://bugs.webkit.org/show_bug.cgi?id=206965
     5        <rdar://problem/59005652>
     6
     7        Reviewed by Ryosuke Niwa.
     8
     9        Modify a test to make it less flaky. Based on our current implementation, there is no guarantee that Block event on
     10        delete request would be fired before Complete event on transaction from connection2 in this test. The events
     11        sequence we are sure are:
     12        1. UpgradeNeeded event on openRequest2 -> VersionChange event on connection2 -> Complete event on VersionChange
     13        transaction on connection2 -> Success event on openRequest2.
     14        2. VersionChange event on connection2 -> Block event on delete request.
     15        Therefore I am changing the test to ensure sequence 1.
     16
     17        * platform/ios-wk2/TestExpectations:
     18        * platform/mac/TestExpectations:
     19        * storage/indexeddb/intversion-long-queue-expected.txt:
     20        * storage/indexeddb/intversion-long-queue-private-expected.txt:
     21        * storage/indexeddb/resources/intversion-long-queue.js:
     22        (connection2Blocked):
     23        (connection2UpgradeNeeded):
     24        (connection2VersionChangeCallback):
     25        (deleteDatabaseBlockedCallback): Deleted.
     26
    1272020-02-10  Jason Lawrence  <lawrence.j@apple.com>
    228
  • trunk/LayoutTests/platform/ios-wk2/TestExpectations

    r256178 r256235  
    13601360
    13611361webkit.org/b/206946 http/tests/security/cookies/third-party-cookie-blocking-main-frame.html [ Pass Timeout ]
    1362 webkit.org/b/206965 storage/indexeddb/intversion-long-queue-private.html [ Pass Failure ]
    13631362
    13641363webkit.org/b/205309 scrollingcoordinator/ios/scroll-position-after-reattach.html [ ImageOnlyFailure ]
  • trunk/LayoutTests/platform/mac/TestExpectations

    r256227 r256235  
    19631963webkit.org/b/205729 webrtc/captureCanvas-webrtc.html [ Pass Failure ]
    19641964
    1965 webkit.org/b/206965 storage/indexeddb/intversion-long-queue-private.html [ Pass Failure ]
    1966 
    19671965webkit.org/b/207010 fast/history/page-cache-webdatabase-pending-transaction.html [ Timeout ]
    19681966
  • trunk/LayoutTests/storage/indexeddb/intversion-long-queue-expected.txt

    r195181 r256235  
    2828connection2Blocked():
    2929request = indexedDB.deleteDatabase(dbname)
    30 request.onblocked = deleteDatabaseBlockedCallback
    3130request.onsuccess = deleteDatabaseSuccessCallback
    3231request = indexedDB.open(dbname, 3)
     
    3938PASS event.newVersion is 2
    4039db = event.target.result
     40db.onversionchange = connection2VersionChangeCallback
    4141PASS db.objectStoreNames.length is 0
    4242db.createObjectStore('some object store')
     
    4444transaction.oncomplete = connection2TransactionComplete
    4545
    46 deleteDatabaseBlockedCallback():
     46connection2VersionChangeCallback():
    4747PASS event.oldVersion is 2
    4848PASS event.newVersion is null
  • trunk/LayoutTests/storage/indexeddb/intversion-long-queue-private-expected.txt

    r195247 r256235  
    2828connection2Blocked():
    2929request = indexedDB.deleteDatabase(dbname)
    30 request.onblocked = deleteDatabaseBlockedCallback
    3130request.onsuccess = deleteDatabaseSuccessCallback
    3231request = indexedDB.open(dbname, 3)
     
    3938PASS event.newVersion is 2
    4039db = event.target.result
     40db.onversionchange = connection2VersionChangeCallback
    4141PASS db.objectStoreNames.length is 0
    4242db.createObjectStore('some object store')
     
    4444transaction.oncomplete = connection2TransactionComplete
    4545
    46 deleteDatabaseBlockedCallback():
     46connection2VersionChangeCallback():
    4747PASS event.oldVersion is 2
    4848PASS event.newVersion is null
  • trunk/LayoutTests/storage/indexeddb/resources/intversion-long-queue.js

    r194874 r256235  
    3838    preamble(evt);
    3939    evalAndLog("request = indexedDB.deleteDatabase(dbname)");
    40     evalAndLog("request.onblocked = deleteDatabaseBlockedCallback");
    4140    evalAndLog("request.onsuccess = deleteDatabaseSuccessCallback");
    4241    request.onerror = unexpectedErrorCallback;
     
    4746    request.onerror = unexpectedErrorCallback;
    4847    evalAndLog("connection1.close()");
    49 }
    50 
    51 function deleteDatabaseBlockedCallback(evt)
    52 {
    53     preamble(evt);
    54     shouldBe("event.oldVersion", "2");
    55     shouldBeNull("event.newVersion");
    5648}
    5749
     
    6961    shouldBe("event.newVersion", "2");
    7062    evalAndLog("db = event.target.result");
     63    evalAndLog("db.onversionchange = connection2VersionChangeCallback");
    7164    shouldBe("db.objectStoreNames.length", "0");
    7265    evalAndLog("db.createObjectStore('some object store')");
     
    8982}
    9083
     84function connection2VersionChangeCallback(evt)
     85{
     86    preamble(evt);
     87    shouldBe("event.oldVersion", "2");
     88    shouldBeNull("event.newVersion");
     89}
     90
    9191var gotUpgradeNeededEvent = false;
    9292function connection3UpgradeNeeded(evt)
Note: See TracChangeset for help on using the changeset viewer.