New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 866003 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Last visit > 30 days ago
Closed: Jul 24
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

nonexistent.web-platform.test not configured correctly for run_webkit_tests.py

Project Member Reported by foolip@chromium.org, Jul 20

Issue description

In web-platform-tests, a non-existent host is supported, and used with the `nonexistent.{{domains[]}}` in *.sub.* files. This is working in upstream wpt in all browsers:
https://wpt.fyi/results/infrastructure/server/wpt-server-http.sub.html

(Look for "non-existent domain" subtests.)

These tests fail in Chromium:
https://cs.chromium.org/chromium/src/third_party/WebKit/LayoutTests/external/wpt/infrastructure/server/wpt-server-http.sub-expected.txt
 
Cc: dcreager@chromium.org
dcreager@, how much trouble is this causing for you? Wondering about the priority...
There are a couple of Network Error Logging tests that I can't write without this working, but if I tackle those in follow-on CLs then this is not an immediate blocker for crrev.com/c/1106518.  (There will be some other NEL tests that I have to tackle in follow-on CLs anyway.)
Components: Blink>Infra
I think this is a problem with content_shell:

https://cs.chromium.org/chromium/src/content/shell/app/shell_main_delegate.cc?l=251&rcl=ffbd2fe229f69b29ff40ae861b513b5234d6eec0

"*.test" is resolved to 127.0.0.1 whenever --run-web-tests is used.

We could try narrowing down the wildcard to a list of known test domains, but the list will be quite long and probably have to be kept in sync with wptserve manually. I wonder if the host resolver supports some kind of blacklist rules (e.g. "*.test except foo.test"); that'd be much easier.
Owner: dcreager@chromium.org
Status: Assigned (was: Available)
Just found that too!  You can add an explicit "don't resolve this host" rule; it would like like

MAP nonexistent.*.test ~NOTFOUND

https://cs.chromium.org/chromium/src/net/dns/mapped_host_resolver.h?q=mapped_host_resolver&sq=package:chromium&dr=CSs&l=34-36

I'm going to try to whip up a small patch that adds that and updates test expectations.
Project Member

Comment 6 by bugdroid1@chromium.org, Jul 24

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/34cab7526126433235f2449964fb2058f3943741

commit 34cab7526126433235f2449964fb2058f3943741
Author: Douglas Creager <dcreager@chromium.org>
Date: Tue Jul 24 13:28:35 2018

Handle "nonexistent" WPT subdomains correctly

WPT provides a "nonexistent" subdomain that it guarantees will never
resolve to any IP address [1].  Our test harness doesn't rely on
/etc/hosts to resolve these test domains, and uses rewrite rules
internally instead.  Those rewrite rules were blindly resolving all
*.test domains to 127.0.0.1; this patch adds an additional rule that
handles the nonexistent subdomain correctly.

[1] https://web-platform-tests.org/writing-tests/server-features.html#tests-involving-multiple-origins

Bug:  866003 
Change-Id: I4e331490d56872b8dfc4db25973291ea6e099565
Reviewed-on: https://chromium-review.googlesource.com/1145487
Commit-Queue: Douglas Creager <dcreager@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#577505}
[modify] https://crrev.com/34cab7526126433235f2449964fb2058f3943741/content/shell/app/shell_main_delegate.cc
[delete] https://crrev.com/54339ac9c0eda7fce6b9b2ec96714760e619fdc9/third_party/WebKit/LayoutTests/external/wpt/infrastructure/server/wpt-server-http.sub-expected.txt

Status: Verified (was: Assigned)

Sign in to add a comment