Closed Bug 1937872 Opened 2 months ago Closed 2 months ago

[wpt-sync] Sync PR 49737 - IndexedDB: Speed up and refactor IDBIndex get all WPTs

Categories

(Core :: Storage: IndexedDB, task, P4)

task

Tracking

()

RESOLVED FIXED
135 Branch
Tracking Status
firefox135 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 49737 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/49737
Details from upstream follow.

Steve Becker <stevebe@microsoft.com> wrote:

IndexedDB: Speed up and refactor IDBIndex get all WPTs

Brings the IDBObjectStore get all WPT improvements to IBDIndex

https://chromium-review.googlesource.com/c/chromium/src/+/6098322

  1. Updates test setup skip creating unused IDBObjectStores and
    IDBIndexes.

  2. Adds META: timeout=long.

  3. Refactors the tests to use the get_all_test() helper function,
    which eliminates duplicated boilerplate code.

Bug: 378869818,383436041,379457908,379479285
Change-Id: I6a3b0413801512efeefa1e7905851c32d345fe56
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6098818
Reviewed-by: Rahul Singh \<rahsin@microsoft.com>
Reviewed-by: Evan Stade \<estade@chromium.org>
Commit-Queue: Steve Becker \<stevebe@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1397470}

PR 49737 applied with additional changes from upstream: 810cb308357521a263ea29a332cfb77c0e4e3c59
Component: web-platform-tests → Storage: IndexedDB
Product: Testing → Core

CI Results

Ran 0 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 25 tests and 24 subtests

Status Summary

Firefox

OK : 25
PASS: 298
FAIL: 192

Chrome

OK : 25
PASS: 490

Safari

OK : 25
PASS: 298
FAIL: 192

Links

GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

  • /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)
  • /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)
  • /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)
  • /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)
  • /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)
  • /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)
  • /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)
  • /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)
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/fc9b6446b8df [wpt PR 49737] - IndexedDB: Speed up and refactor IDBIndex get all WPTs, a=testonly
Status: NEW → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → 135 Branch
You need to log in before you can comment on or make changes to this bug.