Hi Philip,

After conferring with the team, we feel that there is an appropriate
distribution of coverage provided by WPT and Chromium unit and browser
tests. Leveraging testdriver for one-off hooks such as this would introduce
substantial test-only code flows, diminishing the confidence that the tests
were correctly verifying production behavior, while also imposing a larger
maintenance burden going forward. The benefit, as we understand it, would
be that the WPT could be shared by other vendors, but the test itself in
this case would only be a few lines. The vast majority of LOC would
be plumbing and internals logic which other vendors would need to provide
for themselves.

Getting a bit off in the weeds relative to this i2s discussion, but I'll
continue on this topic for the sake of debate:

We can observe that new testdriver APIs are seldom added. I only see ~4
changes originating from the Chromium project in the last 5 years. Putting
all other reasoning aside, this fact alone would suggest that testdriver
should be touched only in exceptional cases. I would not argue that
testdriver is without utility. Unlike the one-off actions we'd need for
these buckets WPT, more generic testdriver actions such as setting
permission state can enable a wide range of tests. In those cases the
calculus of cost vs reward is much more favorable. So I would assume that
changes to testdriver should meet a high bar of broad utility, similar to
how we treat core libraries in //base/.

Hope that addresses your concerns.

-- Evan Stade


On Fri, Dec 1, 2023 at 9:03 AM Philip Jägenstedt <foo...@chromium.org>
wrote:

> Thanks Evan for listing out the tests, they were more spread out than I
> thought. Great to see more of the tests being upstreamed too!
>
> I wonder if we can do even better and test eviction however? Have you
> looked into defining a WebDriver endpoint for triggering eviction? It could
> make sense in
> https://web-platform-tests.org/writing-tests/testdriver.html#storage and
> there are plenty of examples in that documentation that might be close to
> the hook/trigger you need.
>
> If you think this is an unreasonable request, please push back, my
> interest is only that this can be implemented interoperably. Tests are our
> best way of ensuring that, but it's not the only way, and it's always a
> tradeoff of effort vs. utility.
>
> Best regards,
> Philip
>
> On Wed, Nov 29, 2023 at 6:32 PM Evan Stade <est...@chromium.org> wrote:
>
>> Hi Philip,
>>
>> Here is a comprehensive list of web tests that verify storageBuckets
>> behavior. We do feel the size of this list aligns well with the spec,
>> which is fairly concise. As you can see, some are spread out in directories
>> for the other storage APIs that storageBuckets brokers.
>>
>> That said, not all behavior is verifiable from the web. For example, it's
>> not possible to reliably trigger an automatic eviction event from the web,
>> so we can't really know if `persisted` is *actually* respected. Browser
>> tests provide that kind of coverage.
>>
>> Some of the WPT are internal but they can/should be moved
>> <https://chromium-review.googlesource.com/c/chromium/src/+/5072535> to
>> the external WPT directory. Thanks for the prompt.
>>
>> external/wpt/IndexedDB/storage-buckets.https.any.js:
>> external/wpt/fs/script-tests/FileSystemBaseHandle-buckets.js:
>>
>> external/wpt/service-workers/cache-storage/cache-storage-buckets.https.any.js:
>>
>> external/wpt/storage/buckets/bucket-quota-indexeddb.tentative.https.any.js:
>> external/wpt/storage/buckets/bucket-storage-policy.tentative.https.any.js:
>> external/wpt/web-locks/storage-buckets.tentative.https.any.js:
>>
>> http/tests/inspector-protocol/storage/cache-storage-request-cache-names.js:
>>
>> http/tests/inspector-protocol/storage/cache-storage-storage-key-request-cache-names.js:
>> http/tests/inspector-protocol/storage/indexed-db-storage-key-clear.js:
>> http/tests/inspector-protocol/storage/indexed-db-storage-key-delete-db.js:
>>
>> http/tests/inspector-protocol/storage/indexed-db-storage-key-delete-object-store-entries.js:
>>
>> http/tests/inspector-protocol/storage/indexed-db-storage-key-get-metadata.js:
>>
>> http/tests/inspector-protocol/storage/indexed-db-storage-key-request-data.js:
>>
>> http/tests/inspector-protocol/storage/indexed-db-storage-key-request-database-names.js:
>>
>> http/tests/inspector-protocol/storage/indexed-db-storage-key-request-database.js:
>>
>> http/tests/inspector-protocol/storage/storage-bucket-storage-key-track-untrack.js:
>>
>> http/tests/inspector-protocol/storage/storage-buckets-delete-storage-bucket.js:
>> wpt_internal/storage/buckets/bucket_names.tentative.https.any.js:
>> wpt_internal/storage/buckets/buckets_basic.tentative.https.any.js:
>>
>> wpt_internal/storage/buckets/buckets_storage_policy.tentative.https.any.js:
>> wpt_internal/storage/buckets/detached-iframe.https.html:
>> wpt_internal/storage/buckets/idlharness-worker.https.any.js:
>> wpt_internal/storage/buckets/opaque-origin.https.window.js:
>> wpt_internal/storage/buckets/resources/opaque-origin-sandbox.html:
>> wpt_internal/storage/buckets/storage_bucket_object.tentative.https.any.js:
>>
>> -- Evan Stade
>>
>>
>> On Wed, Nov 29, 2023 at 9:02 AM Philip Jägenstedt <foo...@chromium.org>
>> wrote:
>>
>>> Hi Evan,
>>>
>>> Is
>>> https://wpt.fyi/results/storage/buckets?label=experimental&label=master&aligned
>>> the full set of tests? Given the size of the spec, does that cover the
>>> whole feature well?
>>>
>>> Best regards,
>>> Philip
>>>
>>> On Wed, Nov 29, 2023 at 5:58 PM Evan Stade <est...@chromium.org> wrote:
>>>
>>>> [reply-all this time]
>>>>
>>>> Hi Philip,
>>>>
>>>> thanks for pointing out those two oversights. I have fixed the
>>>> checkboxes on the chromestatus entry. It is in fact tested by WPT and
>>>> supported on all Blink platforms.
>>>>
>>>> On Wed, Nov 29, 2023 at 8:43 AM Philip Jägenstedt <foo...@chromium.org>
>>>> wrote:
>>>>
>>>>> Hi Evan,
>>>>>
>>>>> A few questions inline.
>>>>>
>>>>> On Tue, Nov 14, 2023 at 9:38 PM Evan Stade <est...@chromium.org>
>>>>> wrote:
>>>>>
>>>>>>
>>>>>> Will this feature be supported on all six Blink platforms (Windows,
>>>>>> Mac, Linux, Chrome OS, Android, and Android WebView)?
>>>>>>
>>>>>> No
>>>>>>
>>>>>
>>>>> Which platform will this not be supported on?
>>>>>
>>>>>
>>>>>> Is this feature fully tested by web-platform-tests
>>>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>>>>>> ?
>>>>>>
>>>>>> No
>>>>>>
>>>>>
>>>>> Can this be fully tested in WPT? If it's not tested in WPT, how is it
>>>>> currently tested?
>>>>>
>>>>> Best regards,
>>>>> Philip
>>>>>
>>>>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAO4XGS8zH0nAjbgaAbwKqv1FcBbipQJJLhUvR-QWuM_Fg4ETTw%40mail.gmail.com.

Reply via email to