Skip to content

Conversation

@jugglinmike
Copy link
Contributor

Hello, reviewers! As of 2025-12-05, the wpt-pr-bot is requesting reviews from code owners for changes to WEB_FEATURES.yml files. To learn more about the purpose of these files, check out this presentation from TPAC 2025, Annotating WPT to Surface the Status of the Platform.

Matching test files for HTTP authentication

./fetch/http-cache
(12 non-matching test files hidden)
./fetch/api/credentials
./xhr
(192 non-matching test files hidden)
(99 non-matching test files hidden)

@jugglinmike jugglinmike changed the title Map "HTTP authentication" to web-features Map HTTP-related tests to web-features Jan 1, 2026
@jugglinmike
Copy link
Contributor Author

For the avoidance of conflict and churn, I've extended this patch with classifiers for two more HTTP-related features:

Matching test files for HTTP/1.1

./fetch/nosniff
(1 non-matching test files hidden)
(1 non-matching test files hidden)
./fetch/content-type
./fetch/content-length
./fetch/h1-parsing

Matching test files for HTTP/2

./fetch/api/basic
(29 non-matching test files hidden)
(2 non-matching test files hidden)
./xhr
(269 non-matching test files hidden)
(34 non-matching test files hidden)

@foolip
Copy link
Member

foolip commented Jan 12, 2026

@jugglinmike can you resolve conflicts? Normally I'd do it, but there are a bunch of directories here with "**" before where a decision needs to be made wrt overlapping tests or not.

@jugglinmike
Copy link
Contributor Author

@foolip Three of the conflicts could be resolved by making exceptions for individual tests that have recently been attributed to other web-features.

The other three are contestation for entire directories:

I originally proposed that these should be classified as http11. My assumption was that the Fetch API was simply the most straightforward way to validate HTTP semantics from WPT, but I'm second-guessing that today based on some feedback you recently shared on a similar conflict.

That's why I removed those directories from this patch. Let me know what you think!

@foolip
Copy link
Member

foolip commented Jan 16, 2026

I'm not clear on the exact boundary between fetch and HTTP in practice. In principle fetch is fairly simple and clearly sits on top of HTTP, but in some cases fetch overrides HTTP for reasons of web compat.

I'll review and see if there are borderline cases left.

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.

I have low confidence in what approach will stand the test of time here, and we've usually tended to avoid overlap, but when the boundary between features and specs isn't so clear, I'm not sure what to do.

features:
- name: http11
files:
- parsing-nosniff.window.js
Copy link
Member

Choose a reason for hiding this comment

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

I think this is testing the details of https://fetch.spec.whatwg.org/#x-content-type-options-header so it's more fetch than HTTP/1.1.

- http-response-code.any.js
- name: http2
files:
- status.h2.any.js
Copy link
Member

Choose a reason for hiding this comment

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

This is indeed testing H2, but it's also about statusText which is fetch, so it makes sense that it's not excluded above.

files: "**"
files:
- "*"
- "!authentication-basic.any.js"
Copy link
Member

Choose a reason for hiding this comment

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

Fetch does say things about the Authorization header, but I'm unsure about the boundary. Maybe actually let the classifications overlap, and don't exclude here?

files: "**"
files:
- "*"
- "!basic-auth-cache-test.html"
Copy link
Member

Choose a reason for hiding this comment

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

Same.

files: "**"
files:
- "*"
- "!open-url-base.htm"
Copy link
Member

Choose a reason for hiding this comment

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

I'm not sure about the boundary, so maybe we can keep everything mapped to XHR with "**" and also classify some specific tests for other features?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants