[wpt-sync] Sync PR 49736 - IndexedDB: Speed up and refactor IDBObjectStore get all WPTs
Categories
(Core :: Storage: IndexedDB, task, P4)
Tracking
()
Tracking | Status | |
---|---|---|
firefox135 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 49736 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/49736
Details from upstream follow.
Steve Becker <stevebe@microsoft.com> wrote:
IndexedDB: Speed up and refactor IDBObjectStore get all WPTs
Updates test setup to only create the object store used by the test.
Prior to this change, test setup always created all object stores, but
each test only used a single object store.The
IDBObjectStore::getAllRecords()
change
(https://chromium-review.googlesource.com/c/chromium/src/+/5911615)
introduced a large value test, which caused timeouts when running in
slow test environments. Skipping setup of the large value object store
improves test runtimes.The change also adds
META: timeout=long
since theIDBObjectStore
get all WPTs include many test cases. This should also help prevent
future timeouts.The change refactors the
IDBObjectStore
get all WPTs to run the same
test code. The change introduces theget_all_test()
helper function
that includes agetAllFunctionName
argument to select which
get all function to run:getAllKeys()
,getAll()
or
getAllRecords()
.getAllFunctionName
also selects which output
verification to perform, which either verifies an array of keys,
values, orIDBRecords
. This refactoring eliminates code duplicated
across theIDBObjectStore
get all WPTs.Bug:378869818,383706488,382575666,380653805
Change-Id: I8c3351f6d19ac1bf016c7f478d64dbe4b415c7b8
Reviewed-on: https://chromium-review.googlesource.com/6098322
WPT-Export-Revision: eb699fa13940592c0d80a8accac5798e7706f536
Assignee | ||
Updated•2 months ago
|
Assignee | ||
Comment 1•2 months ago
|
||
Assignee | ||
Comment 2•2 months ago
|
||
CI Results
Ran 0 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 24 tests and 24 subtests
Status Summary
Firefox
OK
: 24
PASS
: 260
FAIL
: 192
Chrome
OK
: 24
PASS
: 452
Safari
OK
: 24
PASS
: 260
FAIL
: 192
Links
Details
New Tests That Don't Pass
- /IndexedDB/idbindex_getAllRecords.tentative.any.serviceworker.html [wpt.fyi]
- Single item:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Empty index:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records with empty options:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records with large value:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with bound range:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with bound range and count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with upper excluded bound range:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with lower excluded bound range:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with bound range and count for generated keys:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with Nonexistent key:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Zero count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Max value count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with empty range where first key < upperBound:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with empty range where lowerBound < last key:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query index key that matches multiple records:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with multiEntry index:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: next:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: prev:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: nextunique:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: prevunique:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction and query:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction, query and count:
FAIL
(Chrome:PASS
, Safari:FAIL
)
- Single item:
- /IndexedDB/idbindex_getAllRecords.tentative.any.html [wpt.fyi]
- Single item:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Empty index:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records with empty options:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records with large value:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with bound range:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with bound range and count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with upper excluded bound range:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with lower excluded bound range:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with bound range and count for generated keys:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with Nonexistent key:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Zero count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Max value count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with empty range where first key < upperBound:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with empty range where lowerBound < last key:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query index key that matches multiple records:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with multiEntry index:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: next:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: prev:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: nextunique:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: prevunique:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction and query:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction, query and count:
FAIL
(Chrome:PASS
, Safari:FAIL
)
- Single item:
- /IndexedDB/idbindex_getAllRecords.tentative.any.worker.html [wpt.fyi]
- Single item:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Empty index:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records with empty options:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records with large value:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with bound range:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with bound range and count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with upper excluded bound range:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with lower excluded bound range:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with bound range and count for generated keys:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with Nonexistent key:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Zero count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Max value count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with empty range where first key < upperBound:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with empty range where lowerBound < last key:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query index key that matches multiple records:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with multiEntry index:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: next:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: prev:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: nextunique:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: prevunique:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction and query:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction, query and count:
FAIL
(Chrome:PASS
, Safari:FAIL
)
- Single item:
- /IndexedDB/idbindex_getAllRecords.tentative.any.sharedworker.html [wpt.fyi]
- Single item:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Empty index:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records with empty options:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records with large value:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with bound range:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with bound range and count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with upper excluded bound range:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with lower excluded bound range:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with bound range and count for generated keys:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with Nonexistent key:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Zero count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Max value count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with empty range where first key < upperBound:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with empty range where lowerBound < last key:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query index key that matches multiple records:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with multiEntry index:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: next:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: prev:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: nextunique:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: prevunique:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction and query:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction, query and count:
FAIL
(Chrome:PASS
, Safari:FAIL
)
- Single item:
- /IndexedDB/idbobjectstore_getAllRecords.tentative.any.worker.html [wpt.fyi]
- Single item:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Single item with generated key:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Empty object store:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records with empty options:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records with large values:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with bound range:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with bound range and count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with upper excluded bound range:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with lower excluded bound range:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with bound range and count for generated keys:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with nonexistent key:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Zero count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Max value count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with empty range where first key < upperBound:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with empty range where lowerBound < last key:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: next:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: prev:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: nextunique:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: prevunique:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction and query:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction, query and count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records with transaction.commit():
FAIL
(Chrome:PASS
, Safari:FAIL
)
- Single item:
- /IndexedDB/idbobjectstore_getAllRecords.tentative.any.serviceworker.html [wpt.fyi]
- Single item:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Single item with generated key:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Empty object store:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records with empty options:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records with large values:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with bound range:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with bound range and count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with upper excluded bound range:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with lower excluded bound range:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with bound range and count for generated keys:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with nonexistent key:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Zero count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Max value count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with empty range where first key < upperBound:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with empty range where lowerBound < last key:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: next:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: prev:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: nextunique:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: prevunique:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction and query:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction, query and count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records with transaction.commit():
FAIL
(Chrome:PASS
, Safari:FAIL
)
- Single item:
- /IndexedDB/idbobjectstore_getAllRecords.tentative.any.html [wpt.fyi]
- Single item:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Single item with generated key:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Empty object store:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records with empty options:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records with large values:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with bound range:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with bound range and count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with upper excluded bound range:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with lower excluded bound range:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with bound range and count for generated keys:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with nonexistent key:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Zero count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Max value count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with empty range where first key < upperBound:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with empty range where lowerBound < last key:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: next:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: prev:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: nextunique:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: prevunique:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction and query:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction, query and count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records with transaction.commit():
FAIL
(Chrome:PASS
, Safari:FAIL
)
- Single item:
- /IndexedDB/idbobjectstore_getAllRecords.tentative.any.sharedworker.html [wpt.fyi]
- Single item:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Single item with generated key:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Empty object store:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records with empty options:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records with large values:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with bound range:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with bound range and count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with upper excluded bound range:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with lower excluded bound range:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with bound range and count for generated keys:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with nonexistent key:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Zero count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Max value count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with empty range where first key < upperBound:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Query with empty range where lowerBound < last key:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: next:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: prev:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: nextunique:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction: prevunique:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction and query:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Direction, query and count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Get all records with transaction.commit():
FAIL
(Chrome:PASS
, Safari:FAIL
)
- Single item:
Comment 4•2 months ago
|
||
bugherder |
Description
•