New issue
Advanced search Search tips
Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 14
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug



Sign in to add a comment
link

Issue 914679: Harness Error in http/tests/fetch/serviceworker/thorough/scheme-blob.html

Reported by hirosh...@chromium.org, Dec 13 Project Member

Issue description

https://cs.chromium.org/chromium/src/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/scheme-blob-expected.txt
https://cs.chromium.org/chromium/src/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/scheme-blob-other-https-expected.txt
https://cs.chromium.org/chromium/src/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/scheme-blob-base-https-other-https-expected.txt

Harness Error. harness_status.status = 1 , harness_status.message = 1 duplicate test name: "scheme-blob"

This is the only "Harness Error"s under http/tests/fetch.

According to livvielin@, this might be because we're not exposing createObjectURL to service workers.

The WPT-version of blob: URL test 
https://codesearch.chromium.org/chromium/src/third_party/blink/web_tests/external/wpt/fetch/api/basic/scheme-blob.sub.any.js
also uses createObjectURL() and thus can't be executed directly on SW.

Should fetching blob: URL be able to be done on ServiceWorker (e.g. if we create blob: URL in the parent Document and pass the blob: URL to a ServiceWorker), in terms of spec and/or implementation?
(I'm not sure)

If so, we have to test fetch blob: URL from ServiceWorker somehow.
Probably it wouldn't fit in the style of scheme-blob.html/scheme-blob.sub.any.js, so we'll need another custom test.

If not, we can simply remove the scheme-blob.html and similar tests for ServiceWorker.
Also if the coverage of external/wpt/fetch/api/basic/scheme-blob.sub.any.js is sufficient (i.e. covers all cases scheme-blob.html), then we can/should remove scheme-blob.html at all.
(Note: the files are auto-generated by http/tests/fetch/generate.py so probably we should modify generator or remove script-tests/thorough/scheme-blob.js.)
 

Comment 1 by falken@google.com, Dec 13

Cc: mek@chromium.org
mek: Should a service worker be able to fetch a blob:// URL (assuming a Document created it and told the service worker the URL)?

Comment 2 by bugdroid1@chromium.org, Dec 13

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d

commit 7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d
Author: Yutaka Hirano <yhirano@chromium.org>
Date: Thu Dec 13 09:04:08 2018

Fix test name collision in http/tests/fetch/serviceworker

Tests in http/tests/fetch/serviceworker calls service_worker_test with
its script name. Unfortunately the name conflicts with
WorkerTestEnvironment.prototype.next_default_text_name. If no tests
exists in the script, the default name is used and that results in
a "duplicate test name" error. Rename the test name from
TESTNAME to TESTNAME-serviceworker.

Bug:  914679 
Change-Id: Id2e40cc222609bb01e354fa4aa24cfdbba267724
Reviewed-on: https://chromium-review.googlesource.com/c/1375179
Commit-Queue: Yutaka Hirano <yhirano@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616252}
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/script-tests/TEMPLATE-serviceworker.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/script-tests/thorough/TEMPLATE-serviceworker.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/block-mixed-content-base-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/block-mixed-content-nocors-base-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/body-mixin-base-https-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/body-mixin.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/cache-override-base-https-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/cache-override.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/fetch-base-https-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/fetch.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/filtered-response-base-https-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/filtered-response-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/filtered-response.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/headers-base-https-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/headers-guard-base-https-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/headers-guard.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/headers.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/referrer-base-https-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/referrer.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/request-base-https-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/request.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/response-base-https-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/response-content-base-https-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/response-content.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/response.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/stream-reader-base-https-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/stream-reader.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/access-control-base-https-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/access-control.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/auth-base-https-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/auth-nocors-base-https-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/auth-nocors-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/auth-nocors.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/auth-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/auth.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/cookie-base-https-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/cookie-nocors-base-https-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/cookie-nocors-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/cookie-nocors.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/cookie-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/cookie.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/cors-base-https-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/cors-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/cors-preflight-base-https-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/cors-preflight-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/cors-preflight.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/cors-preflight2-base-https-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/cors-preflight2-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/cors-preflight2.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/cors.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/nocors-base-https-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/nocors-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/nocors.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/redirect-base-https-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/redirect-credentials-base-https-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/redirect-credentials-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/redirect-credentials.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/redirect-loop-base-https-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/redirect-loop-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/redirect-loop.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/redirect-nocors-base-https-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/redirect-nocors-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/redirect-nocors.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/redirect-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/redirect-password-base-https-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/redirect-password-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/redirect-password.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/redirect.html
[delete] https://crrev.com/984b25bd39bc130005802cbd1d1b357c6a80d4f0/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/scheme-blob-base-https-other-https-expected.txt
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/scheme-blob-base-https-other-https.html
[delete] https://crrev.com/984b25bd39bc130005802cbd1d1b357c6a80d4f0/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/scheme-blob-expected.txt
[delete] https://crrev.com/984b25bd39bc130005802cbd1d1b357c6a80d4f0/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/scheme-blob-other-https-expected.txt
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/scheme-blob-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/scheme-blob.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/scheme-data-base-https-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/scheme-data-other-https.html
[modify] https://crrev.com/7fa1000f175eeb5e0ee75287ab8c69feb13fdd2d/third_party/blink/web_tests/http/tests/fetch/serviceworker/thorough/scheme-data.html

Comment 3 by hirosh...@chromium.org, Dec 13

Oh, I see
https://codesearch.chromium.org/chromium/src/third_party/blink/web_tests/http/tests/fetch/script-tests/thorough/scheme-blob.js
checks whether createObjectURL is available and if not does nothing.
So the test itself is working somehow correctly.

Still there is a test coverage issue (blob: fetch is not tested on SW), but anyway the current test failures are gone.

Comment 4 by bashi@chromium.org, Dec 14

Should we close this then?

Comment 5 by falken@chromium.org, Dec 14

Owner: yhirano@chromium.org
Status: Fixed (was: Untriaged)
Yes, let's. New tests should be added to WPT if there is lack of coverage there.

Sign in to add a comment