Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement WPT RFC 72 #28870

Merged
merged 9 commits into from Jun 17, 2021
Merged

Implement WPT RFC 72 #28870

merged 9 commits into from Jun 17, 2021

Conversation

letitz
Copy link
Contributor

@letitz letitz commented May 6, 2021

This PR defines 4 new ports:

  • http-private
  • http-public
  • https-private
  • https-public

These are used to run additional HTTP and HTTPS servers on 127.0.0.1. These new (IP address, port) pairs are configured such that their IP address space in Chrome is overridden to private and public as indicated in their names. Other browsers lack the ability to configure such overrides, so they are omitted in this PR.

This allows testing the Private Network Access specification more extensively than what is already in fetch/private-network-access/. The command-line switch has yet to land in Chromium (see https://crrev.com/c/2851238) so no tests can yet be written, but I am interested in this change getting reviewed anyway. If need be, I can wait to submit this until such tests are available, or I can write tests that expect failure.

This PR is destined to supplant #28768, which was the first ill-fated attempt at implementing RFC 72, before web-platform-tests/rfcs#83 came along.

@wpt-pr-bot wpt-pr-bot added infra serve wptrunner The automated test runner, commonly called through ./wpt run labels May 6, 2021
@letitz
Copy link
Contributor Author

letitz commented May 12, 2021

Not sure why the "Azure Pipelines (tools/ unittests: macOS + Python 3.6)" check failed. I cannot see the logs for the step that purportedly failed: "Install Python packages". Closing and reopening so as to trigger CI again.

@letitz letitz closed this May 12, 2021
@letitz letitz reopened this May 12, 2021
@letitz
Copy link
Contributor Author

letitz commented May 12, 2021

OK CI is happy now. @foolip FYI.

@letitz
Copy link
Contributor Author

letitz commented May 17, 2021

@LukeZielinski friendly ping. I'd like to start writing full WPTs for Private Network Access based on this change before Chrome 92 ships to stable.

Copy link
Contributor

@jgraham jgraham left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know if it would have been possible to reuse the existing servers for "public"? If the states are either "private" or "public" I would have preferred to just have one of each to cut down startup overhead.

If that's not possible, this looks fine.

@foolip foolip removed the request for review from LukeZielinski May 18, 2021 13:13
@foolip
Copy link
Member

foolip commented May 18, 2021

@letitz I'll go ahead and review this for you.

Copy link
Member

@foolip foolip left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can this be tested? Not sure if unit tests are useful/practical, but at least one test under infrastructure/ that will prevent this from regressing would be great.

tools/wptrunner/wptrunner/browsers/chrome.py Show resolved Hide resolved
@letitz
Copy link
Contributor Author

letitz commented May 19, 2021

Thanks @jgraham, @foolip!

@jgraham: There are 3 possible states: public, private and local. The existing http and https fulfill the role of http-local and https-local because they are served from loopback, hence are classified in the local address space by default.

@foolip: Within infrastructure/ we can test that the servers are running correctly when configured so, and I guess we can try to test command-line arguments. I'm not sure we should be spinning up browsers and exercising their behavior, I think that belongs in fetch/private-network-access/, which should prevent functional regressions?

@foolip
Copy link
Member

foolip commented May 19, 2021

@letitz the tests in infrastructure/ have expectations checked in and are run when we change code in tools/, so that prevents accidental regressions. Any other tests, like those in fetch/, could be broken without it blocking our CI.

Since part of this support is in the browser setup (command line argument) I think such an end-to-end test is best, but you might be able to test it with wptserve+wptrunner unit tests, if you'd prefer.

@letitz
Copy link
Contributor Author

letitz commented May 25, 2021

Got it. I'll look into writing an end-to-end test then, and fall back to some kind of unit test if that fails. Do you have pointers to other end-to-end tests within infrastructure/ from which I could draw inspiration?

@letitz
Copy link
Contributor Author

letitz commented May 25, 2021

Well, I found infrastructure/assumptions/ which seems appropriate. Thinking about how to test this, however, makes me think this is ill-suited.

The Private Network Access spec used to specify a window.addressSpace property that could be used to test this fairly easily. However upon discussing it with Chromium privacy folks and the TAG, I found that it was somewhat harmful so I removed it (WICG/private-network-access#21).

The only way we can test this now is to check that a non-secure public page cannot make subresource requests to private or local servers. These are the tests I am planning to write in fetch/private-network-access/. It feels redundant to copy them (or one of them at least) in infrastructure/, but maybe that's fine. More importantly, this test will fail on all browsers but Chrome, which makes me think it is inappropriate to run CI against. WDYT?

@jgraham
Copy link
Contributor

jgraham commented May 25, 2021

The CI thing isn't problematic; we can mark those as expected: FAIL in other browsers. I kind of agree that the tests are going to be a bit redundant with the actual feature tests. At the very least we should check that the servers are able to respond to requests, even if we don't also check the correct configuration.

@letitz
Copy link
Contributor Author

letitz commented May 26, 2021

Added tests to check that the other servers nominally serve files from the WPT tree. I can add a test checking that fetches are blocked correctly, as a regression test for the command-line config part. How do I mark a test as expected to fail?

@letitz
Copy link
Contributor Author

letitz commented May 26, 2021

CI passed on the basic tests. Will push integration test and run CI on it - I expect it to fail on non-Chrome browsers.

@letitz
Copy link
Contributor Author

letitz commented Jun 1, 2021

@jgraham How do I mark a test as expected to fail for certain browsers?

@jgraham
Copy link
Contributor

jgraham commented Jun 1, 2021

Create a file like infrastructure/metadata/infrastructure/assumptions/non-local-ports.sub.window.html.ini there are "ini" files (not really ini files) which you can use like

[non-local-ports.sub.window.html]
  [Fetch from http-public to local http fails.]
     expected:
      if product != "chrome": FAIL

Then to test it's correct do something like ./wpt run --metadata infrastructure/metadata/ firefox infrastructure/assumptions/non-local-ports.sub.window.html

@jgraham
Copy link
Contributor

jgraham commented Jun 1, 2021

I didn't test that btw so I might have got it wrong :)

@letitz
Copy link
Contributor Author

letitz commented Jun 9, 2021

Cannot get it to fail with extra logging. Removing once more...

@letitz
Copy link
Contributor Author

letitz commented Jun 11, 2021

Example failure:

[2021-06-09 13:50:52,611 None on port 44951] INFO - Starting http server on web-platform.test:44951
[2021-06-09 13:50:55,211 None on port 44951] INFO - Stopped http server on web-platform.test:44951
[2021-06-09 13:50:57,314 https-public on port 33639] INFO - Starting https server on web-platform.test:33639
[2021-06-09 13:50:57,732 http-public on port 37279] INFO - Starting http server on web-platform.test:37279
[2021-06-09 13:50:57,971 http on port 8000] INFO - Starting http server on web-platform.test:8000
[2021-06-09 13:50:58,070 http on port 60277] INFO - Starting http server on web-platform.test:60277
[2021-06-09 13:50:58,368 https on port 8444] INFO - Starting https server on web-platform.test:8444
============================= test session starts ==============================
platform linux -- Python 3.6.13, pytest-6.2.4, py-1.10.0, pluggy-0.13.1 -- /home/test/web-platform-tests/resources/test/.tox/py36/bin/python
cachedir: .tox/py36/.pytest_cache
hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/home/test/web-platform-tests/resources/test/.hypothesis/examples')
rootdir: /home/test/web-platform-tests/resources/test
plugins: hypothesis-6.13.14, cov-2.12.1
collecting ... [2021-06-09 13:50:58,596 http-private on port 44613] INFO - Starting http server on web-platform.test:44613
[2021-06-09 13:50:58,612 ws on port 50051] INFO - Create socket on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 50051))
[2021-06-09 13:50:58,613 ws on port 50051] INFO - Bind on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 50051))
[2021-06-09 13:50:58,614 ws on port 50051] INFO - Listen on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 50051))
[2021-06-09 13:50:58,663 wss on port 43135] INFO - Create socket on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 43135))
[2021-06-09 13:50:58,670 wss on port 43135] INFO - Bind on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 43135))
[2021-06-09 13:50:58,670 wss on port 43135] INFO - Listen on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 43135))
[2021-06-09 13:50:58,704 https on port 8443] INFO - Starting https server on web-platform.test:8443
[2021-06-09 13:50:58,716 https-private on port 34285] INFO - Starting https server on web-platform.test:34285
[2021-06-09 13:50:58,752 h2 on port 9000] INFO - Starting http2 server on web-platform.test:9000
collecting 0 items / 1 error                                                   
collected 0 items / 1 error                                                    
==================================== ERRORS ====================================
________________________ ERROR collecting test session _________________________
/usr/lib/python3.6/urllib/request.py:1349: in do_open
    encode_chunked=req.has_header('Transfer-encoding'))
/usr/lib/python3.6/http/client.py:1287: in request
    self._send_request(method, url, body, headers, encode_chunked)
/usr/lib/python3.6/http/client.py:1333: in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
/usr/lib/python3.6/http/client.py:1282: in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
/usr/lib/python3.6/http/client.py:1042: in _send_output
    self.send(msg)
/usr/lib/python3.6/http/client.py:980: in send
    self.connect()
/usr/lib/python3.6/http/client.py:1440: in connect
    super().connect()
/usr/lib/python3.6/http/client.py:952: in connect
    (self.host,self.port), self.timeout, self.source_address)
/usr/lib/python3.6/socket.py:724: in create_connection
    raise err
/usr/lib/python3.6/socket.py:713: in create_connection
    sock.connect(sa)
E   ConnectionRefusedError: [Errno 111] Connection refused
During handling of the above exception, another exception occurred:
.tox/py36/lib/python3.6/site-packages/pluggy/hooks.py:286: in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
.tox/py36/lib/python3.6/site-packages/pluggy/manager.py:93: in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
.tox/py36/lib/python3.6/site-packages/pluggy/manager.py:87: in <lambda>
    firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
conftest.py:47: in pytest_collect_file
    return HTMLItem.from_parent(parent, filename=str(path), test_type=test_type)
.tox/py36/lib/python3.6/site-packages/_pytest/nodes.py:190: in from_parent
    return cls._create(parent=parent, **kw)
.tox/py36/lib/python3.6/site-packages/_pytest/nodes.py:94: in _create
    return super().__call__(*k, **kw)
conftest.py:100: in __init__
    context=parent.session.config.ssl_context)
/usr/lib/python3.6/urllib/request.py:223: in urlopen
    return opener.open(url, data, timeout)
/usr/lib/python3.6/urllib/request.py:526: in open
    response = self._open(req, data)
/usr/lib/python3.6/urllib/request.py:544: in _open
    '_open', req)
/usr/lib/python3.6/urllib/request.py:504: in _call_chain
    result = func(*args)
/usr/lib/python3.6/urllib/request.py:1392: in https_open
    context=self._context, check_hostname=self._check_hostname)
/usr/lib/python3.6/urllib/request.py:1351: in do_open
    raise URLError(err)
E   urllib.error.URLError: <urlopen error [Errno 111] Connection refused>
=========================== short test summary info ============================
ERROR  - urllib.error.URLError: <urlopen error [Errno 111] Connection refused>
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
=============================== 1 error in 0.86s ===============================

Example success:

[2021-06-09 13:21:29,637 None on port 37443] INFO - Starting http server on web-platform.test:37443
[2021-06-09 13:21:32,011 None on port 37443] INFO - Stopped http server on web-platform.test:37443
[2021-06-09 13:21:33,669 https on port 8444] INFO - Starting https server on web-platform.test:8444
[2021-06-09 13:21:34,074 http-private on port 44171] INFO - Starting http server on web-platform.test:44171
[2021-06-09 13:21:34,756 http on port 48991] INFO - Starting http server on web-platform.test:48991
[2021-06-09 13:21:34,813 http-public on port 55611] INFO - Starting http server on web-platform.test:55611
[2021-06-09 13:21:35,073 https on port 8443] INFO - Starting https server on web-platform.test:8443
[2021-06-09 13:21:35,235 http on port 8000] INFO - Starting http server on web-platform.test:8000
[2021-06-09 13:21:35,266 ws on port 51243] INFO - Create socket on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 51243))
[2021-06-09 13:21:35,267 ws on port 51243] INFO - Bind on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 51243))
[2021-06-09 13:21:35,267 ws on port 51243] INFO - Listen on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 51243))
[2021-06-09 13:21:35,281 https-public on port 56619] INFO - Starting https server on web-platform.test:56619
[2021-06-09 13:21:35,331 wss on port 48967] INFO - Create socket on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 48967))
[2021-06-09 13:21:35,331 https-private on port 33787] INFO - Starting https server on web-platform.test:33787
[2021-06-09 13:21:35,334 wss on port 48967] INFO - Bind on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 48967))
[2021-06-09 13:21:35,334 wss on port 48967] INFO - Listen on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 48967))
[2021-06-09 13:21:35,359 h2 on port 9000] INFO - Starting http2 server on web-platform.test:9000
============================= test session starts ==============================
platform linux -- Python 3.9.5, pytest-6.2.4, py-1.10.0, pluggy-0.13.1 -- /home/test/web-platform-tests/resources/test/.tox/py39/bin/python
cachedir: .tox/py39/.pytest_cache
hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/home/test/web-platform-tests/resources/test/.hypothesis/examples')
rootdir: /home/test/web-platform-tests/resources/test
plugins: hypothesis-6.13.14, cov-2.12.1
collecting ... 
collecting 85 items                                                            
collected 85 items                                                     

The main difference seems to be that in the success case all servers are started before the test session starts, whereas in the failure case the test session starts before all servers are started and we can see the lagging servers starting as the test session runs.

This might be exacerbated by the larger number of servers now being started, or it might be that I forgot to plumb something that tells the test session to wait until the new servers are running.

@jgraham
Copy link
Contributor

jgraham commented Jun 11, 2021

Ah, so we have code to check all the servers start in wptrunner. But maybe the resources/ tests don't have anything like that.

@letitz
Copy link
Contributor Author

letitz commented Jun 11, 2021

I thought I had seen something like that somewhere, and was looking around for it. Thanks for the pointer!

@jgraham
Copy link
Contributor

jgraham commented Jun 11, 2021

#29344 refactors the wait-for-servers code here in a way that should make it more reliable. Maybe try rebasing onto that branch and see if it fixes the problem?

@letitz
Copy link
Contributor Author

letitz commented Jun 11, 2021

Oh, that's neat! I added a small change to the server start logic for resources/test/ that checks that the HTTPS server is live as well as the HTTP server before running tests. I think that should be enough for now, let's see what CI says.

@letitz
Copy link
Contributor Author

letitz commented Jun 11, 2021

OK! Tests passed 🎉. Can I merge this for now, and #29344 can provide the proper fix on top?

@jgraham
Copy link
Contributor

jgraham commented Jun 11, 2021

Yes, happy for you to merge.

infrastructure/assumptions/resources/exists.txt Outdated Show resolved Hide resolved
@jgraham jgraham merged commit 03c5072 into web-platform-tests:master Jun 17, 2021
@letitz
Copy link
Contributor Author

letitz commented Jun 17, 2021

Thanks @jgraham 🎉

chromium-wpt-export-bot pushed a commit that referenced this pull request Jun 29, 2021
This implements WPT RFC 72 support for the Blink web test runner. This
draws on similar work done for wptrunner in the following WPT PR:
#28870

That PR taught wptserve how to run servers for http(s)-{private,public}
ports and configure Chrome to treat those ports as belonging to the
`private` and `public` address spaces. This CL teaches the Blink web
test runner to do the same, then adds some tests verifying that.

Bug: chromium:1138904
Change-Id: I7c118b64d62ac6932988ad40e370b0d7c72b56b0
chromium-wpt-export-bot pushed a commit that referenced this pull request Jun 29, 2021
This implements WPT RFC 72 support for the Blink web test runner. This
draws on similar work done for wptrunner in the following WPT PR:
#28870

That PR taught wptserve how to run servers for http(s)-{private,public}
ports and configure Chrome to treat those ports as belonging to the
`private` and `public` address spaces. This CL teaches the Blink web
test runner to do the same, then adds some tests verifying that.

Bug: chromium:1138904
Change-Id: I7c118b64d62ac6932988ad40e370b0d7c72b56b0
chromium-wpt-export-bot pushed a commit that referenced this pull request Jun 29, 2021
This implements WPT RFC 72 support for the Blink web test runner. This
draws on similar work done for wptrunner in the following WPT PR:
#28870

That PR taught wptserve how to run servers for http(s)-{private,public}
ports and configure Chrome to treat those ports as belonging to the
`private` and `public` address spaces. This CL teaches the Blink web
test runner to do the same, then adds some tests verifying that.

Bug: chromium:1138904
Change-Id: I7c118b64d62ac6932988ad40e370b0d7c72b56b0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2987794
Commit-Queue: Titouan Rigoudy <titouan@chromium.org>
Auto-Submit: Titouan Rigoudy <titouan@chromium.org>
Reviewed-by: Stephen McGruer <smcgruer@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Arthur Hemery <ahemery@chromium.org>
Cr-Commit-Position: refs/heads/master@{#896984}
chromium-wpt-export-bot pushed a commit that referenced this pull request Jun 29, 2021
This implements WPT RFC 72 support for the Blink web test runner. This
draws on similar work done for wptrunner in the following WPT PR:
#28870

That PR taught wptserve how to run servers for http(s)-{private,public}
ports and configure Chrome to treat those ports as belonging to the
`private` and `public` address spaces. This CL teaches the Blink web
test runner to do the same, then adds some tests verifying that.

Bug: chromium:1138904
Change-Id: I7c118b64d62ac6932988ad40e370b0d7c72b56b0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2987794
Commit-Queue: Titouan Rigoudy <titouan@chromium.org>
Auto-Submit: Titouan Rigoudy <titouan@chromium.org>
Reviewed-by: Stephen McGruer <smcgruer@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Arthur Hemery <ahemery@chromium.org>
Cr-Commit-Position: refs/heads/master@{#896984}
pull bot pushed a commit to Mu-L/chromium that referenced this pull request Jun 30, 2021
This implements WPT RFC 72 support for the Blink web test runner. This
draws on similar work done for wptrunner in the following WPT PR:
web-platform-tests/wpt#28870

That PR taught wptserve how to run servers for http(s)-{private,public}
ports and configure Chrome to treat those ports as belonging to the
`private` and `public` address spaces. This CL teaches the Blink web
test runner to do the same, then adds some tests verifying that.

Bug: chromium:1138904
Change-Id: I7c118b64d62ac6932988ad40e370b0d7c72b56b0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2987794
Commit-Queue: Titouan Rigoudy <titouan@chromium.org>
Auto-Submit: Titouan Rigoudy <titouan@chromium.org>
Reviewed-by: Stephen McGruer <smcgruer@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Arthur Hemery <ahemery@chromium.org>
Cr-Commit-Position: refs/heads/master@{#896984}
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this pull request Jun 30, 2021
…atform tests., a=testonly

Automatic update from web-platform-tests
[Private Network Access] Add more web platform tests.

This implements WPT RFC 72 support for the Blink web test runner. This
draws on similar work done for wptrunner in the following WPT PR:
web-platform-tests/wpt#28870

That PR taught wptserve how to run servers for http(s)-{private,public}
ports and configure Chrome to treat those ports as belonging to the
`private` and `public` address spaces. This CL teaches the Blink web
test runner to do the same, then adds some tests verifying that.

Bug: chromium:1138904
Change-Id: I7c118b64d62ac6932988ad40e370b0d7c72b56b0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2987794
Commit-Queue: Titouan Rigoudy <titouan@chromium.org>
Auto-Submit: Titouan Rigoudy <titouan@chromium.org>
Reviewed-by: Stephen McGruer <smcgruer@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Arthur Hemery <ahemery@chromium.org>
Cr-Commit-Position: refs/heads/master@{#896984}

--

wpt-commits: 9d1472176bfb1976157fb9891e2e1a34011f47d3
wpt-pr: 29525
foolip pushed a commit that referenced this pull request Jul 13, 2021
jamienicol pushed a commit to jamienicol/gecko that referenced this pull request Jul 16, 2021
…atform tests., a=testonly

Automatic update from web-platform-tests
[Private Network Access] Add more web platform tests.

This implements WPT RFC 72 support for the Blink web test runner. This
draws on similar work done for wptrunner in the following WPT PR:
web-platform-tests/wpt#28870

That PR taught wptserve how to run servers for http(s)-{private,public}
ports and configure Chrome to treat those ports as belonging to the
`private` and `public` address spaces. This CL teaches the Blink web
test runner to do the same, then adds some tests verifying that.

Bug: chromium:1138904
Change-Id: I7c118b64d62ac6932988ad40e370b0d7c72b56b0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2987794
Commit-Queue: Titouan Rigoudy <titouan@chromium.org>
Auto-Submit: Titouan Rigoudy <titouan@chromium.org>
Reviewed-by: Stephen McGruer <smcgruer@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Arthur Hemery <ahemery@chromium.org>
Cr-Commit-Position: refs/heads/master@{#896984}

--

wpt-commits: 9d1472176bfb1976157fb9891e2e1a34011f47d3
wpt-pr: 29525
mjfroman pushed a commit to mjfroman/moz-libwebrtc-third-party that referenced this pull request Oct 14, 2022
This implements WPT RFC 72 support for the Blink web test runner. This
draws on similar work done for wptrunner in the following WPT PR:
web-platform-tests/wpt#28870

That PR taught wptserve how to run servers for http(s)-{private,public}
ports and configure Chrome to treat those ports as belonging to the
`private` and `public` address spaces. This CL teaches the Blink web
test runner to do the same, then adds some tests verifying that.

Bug: chromium:1138904
Change-Id: I7c118b64d62ac6932988ad40e370b0d7c72b56b0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2987794
Commit-Queue: Titouan Rigoudy <titouan@chromium.org>
Auto-Submit: Titouan Rigoudy <titouan@chromium.org>
Reviewed-by: Stephen McGruer <smcgruer@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Arthur Hemery <ahemery@chromium.org>
Cr-Commit-Position: refs/heads/master@{#896984}
NOKEYCHECK=True
GitOrigin-RevId: 967a01dc16ea99285cb992ca730d9161d91b81e1
ns-rsilva pushed a commit to ns-rsilva/chromium that referenced this pull request Apr 25, 2024
This implements WPT RFC 72 support for the Blink web test runner. This
draws on similar work done for wptrunner in the following WPT PR:
web-platform-tests/wpt#28870

That PR taught wptserve how to run servers for http(s)-{private,public}
ports and configure Chrome to treat those ports as belonging to the
`private` and `public` address spaces. This CL teaches the Blink web
test runner to do the same, then adds some tests verifying that.

Bug: chromium:1138904
Change-Id: I7c118b64d62ac6932988ad40e370b0d7c72b56b0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2987794
Commit-Queue: Titouan Rigoudy <titouan@chromium.org>
Auto-Submit: Titouan Rigoudy <titouan@chromium.org>
Reviewed-by: Stephen McGruer <smcgruer@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Arthur Hemery <ahemery@chromium.org>
Cr-Commit-Position: refs/heads/master@{#896984}

Former-commit-id: 967a01dc16ea99285cb992ca730d9161d91b81e1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
assets infra serve testharness.js wptrunner The automated test runner, commonly called through ./wpt run
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants