Commit graph

9347 commits

Author SHA1 Message Date
bors-servo
f04a466be7
Auto merge of #29315 - mrobinson:isolate-intermittents-2, r=delan
Output test results as GitHub comments

After filtering intermittents, output the results as JSON. Update the
GitHub workflow to aggregate this JSON data into an artifact and use the
aggregated data to generate a GitHub comment with details about the try
run. The idea here is that this comment will make it easier to track
intermittent tests and notice when a change affects a test marked as
intermittent -- either causing it to permanently fail or fixing it.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they modify the CI infrastructure.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
2023-02-07 09:31:55 +01:00
WPT Sync Bot
a0129273b8 Update web-platform-tests to revision b'dc3450e06f4e9dbac799d33d52e25b204f5a751c' 2023-02-06 01:33:49 +00:00
WPT Sync Bot
febcb80385 Update web-platform-tests to revision b'e0214318249f1b6ea09b837db6eac7b0facd1b52' 2023-02-05 01:50:48 +00:00
Martin Robinson
d2a66fef0c Output test results as a GitHub comment
After filtering intermittents, output the results as JSON. Update the
GitHub workflow to aggregate this JSON data into an artifact and use the
aggregated data to generate a GitHub comment with details about the try
run. The idea here is that this comment will make it easier to track
intermittent tests and notice when a change affects a test marked as
intermittent -- either causing it to permanently fail or fixing it.
2023-02-04 17:11:02 +01:00
bors-servo
3429e8fe3b
Auto merge of #29320 - mrobinson:grouping-formatter-pull-out-formatting, r=delan
wpt: Make WPT result formatting logic independent of ServoHandler

This will allow results to be formatted by other parts of the code (such as the intermittent filtering code). Previously formatting was handled in ServoHandler, which was a bit strange as it's really only necessary for GroupingFormatter and the intermittent filtering code. This also allows the results to be properly typed by the Python typing system.

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they are part of the testing infrastructure that is generally untested.
2023-02-04 15:05:11 +01:00
Martin Robinson
3543fd27f0 wpt: Make WPT result formatting logic independent of ServoHandler
This will allow results to be formatted by other parts of the code (such
as the intermittent filtering) code. Previously, formatting was handled
in ServoHandler, which was a bit strange as it's really only necessary
for GroupingFormatter and the intermittent filtering code. This also
allows the results to be properly typed by the Python typing system.
2023-02-04 15:03:44 +01:00
WPT Sync Bot
ec63c43030 Update web-platform-tests to revision b'd1192ca239e944dc6cdbcd079e1c16227e08e30c' 2023-02-02 01:55:40 +00:00
Delan Azabani
beab561eea retain raw test_end events for failing tests without subtests 2023-02-01 19:23:19 +08:00
Delan Azabani
0a5ae8e938 wpt: structured subtest results 2023-02-01 16:50:52 +08:00
WPT Sync Bot
48c9556bb6 Update web-platform-tests to revision b'94be51cc50986018ab25e8a952bf234862ef3e5f' 2023-01-31 01:40:55 +00:00
WPT Sync Bot
a8371a92fd Update web-platform-tests to revision b'8c2b82d9aa621baeecb06fb346dbce0d19945861' 2023-01-30 01:34:14 +00:00
WPT Sync Bot
879f987fc2 Update web-platform-tests to revision b'7b1babebddf2f0fdd866fa8b83b8621b86590fc9' 2023-01-29 01:42:28 +00:00
Josh Matthews
a128b63088
Remove intermittent timeout. 2023-01-28 01:21:29 -05:00
Josh Matthews
4e7856f33b
Remove intermittent timeout. 2023-01-28 01:20:46 -05:00
WPT Sync Bot
32cc2e03c4 Update web-platform-tests to revision b'544363de4568baf9ae90d71e4822661edc546650' 2023-01-28 01:52:20 +00:00
bors-servo
4d5a804d03
Auto merge of #29294 - servo:integrate-filter-intermittents, r=delan
Integrate filter-intermittents into test-wpt

This change integrates the `filter-intermittents` command into `test-wpt`. This is in preparation for future work on tracking intermittent failures. This change also:
- Removes `ServoJsonFormatter` and replaces it with a generic WPT log handler which tracks unexpected results.
- The intermittent filter is now controlled via environment variables and the GitHub version requires a token instead of credentials.
- Output is saved to a single file and is always text.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they are changes to build infrastructure.
2023-01-27 15:43:47 +01:00
Martin Robinson
423cc34cb0 Bump euclid to 0.22
- Also updates raqote to latest with an upgrade of font-kit to 0.11
  applied on as a patch
- Update lyon_geom to the latest version

Major change:

- All matrices are now stored in row major order. This means that
  parameters to rotation functions no longer should be negated.
- `post_...()` functions are now named `then()`. `pre_transform()` is removed,
  so `then()` is used and the order of operations changed.
2023-01-26 08:59:21 +01:00
WPT Sync Bot
cda7a10498 Update web-platform-tests to revision b'89142292ab8c7f3564d978a76fdabc66626c421e' 2023-01-26 01:45:06 +00:00
WPT Sync Bot
a6bc3e1a73 Update web-platform-tests to revision b'704eebbe6af5b43643971e96e33a0c979fba2904' 2023-01-25 01:36:16 +00:00
Martin Robinson
d294a71397 Integrate filter-intermittents into test-wpt
This change integrates the filter-intermittents command into test-wpt.
This is in preparation for future work on tracking intermittent
failures. This change also:
- Removes the SrvoJson logger and replaces it with a generic WPT log
  handler which tracks unexpected results.
- The intermittent filter is now controlled via environment variables
  and the GitHub version requires a token instead of credentials.
- Output is saved to a single file and is always text.
2023-01-24 15:10:09 +01:00
WPT Sync Bot
02cb6d44e5 Update web-platform-tests to revision b'ece751218b0ba35e99fa900bfd2a2d89c4bb69da' 2023-01-22 01:42:09 +00:00
WPT Sync Bot
92be0baf34 Update web-platform-tests to revision b'8a99353217938b6f1da31a9a108da3d501cee58b' 2023-01-20 01:41:09 +00:00
bors-servo
2515944cda
Auto merge of #29253 - servo:wpt_update_18-01-2023, r=jdm
Sync WPT with upstream (18-01-2023)

Automated downstream sync of changes from upstream as of 18-01-2023
[no-wpt-sync]
r? @servo-wpt-sync
2023-01-18 09:55:03 +01:00
bors-servo
c8d9aad3e3
Auto merge of #28880 - wusyong:fix-footer, r=delan
Fix absolute descendents being replaced when retreiving root

<!-- Please describe your changes on the following line: -->
The cause of #16410 is because calling `try_get_layout_root` will replace its `abs_descendants` even itself isn't absolute positioned. So I pushed them instead if the root isn't absolute. Also add a few docs and comments to help understand how block size of absolute flow is being calculated.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #16410 (GitHub issue number if applicable)

<!-- Either: -->
- [x] There are tests for these changes:
Reduced testcase from the issue.
```html
<style>
  html {
    min-height: 100%;
    position: relative;
  }
  div {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 25px;
    border: 1px solid black;
  }
</style>
<div>
</div>
```

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
2023-01-18 08:18:39 +01:00
Delan Azabani
d1355dffff update WPT expectations 2023-01-18 14:07:05 +08:00
WPT Sync Bot
1c6b303ef2 Update web-platform-tests to revision b'2d7c53f5bc604132d2c83955537e454ee9c788c0' 2023-01-18 01:48:18 +00:00
bors-servo
a8db596d1e
Auto merge of #29236 - servo:application-json, r=jdm
Allow displaying content with "application/json" mime type

For me this allows the WPT test
performance-timeline/tentative/include-frames-one-remote-child.sub.html
to match expected results. The wptserver is sending a 404 JSON response
because the URL that the test requests is not found.

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #29136.
- [x] There are tests for these changes.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
2023-01-17 19:13:38 +01:00
bors-servo
aaca4543fc
Auto merge of #29235 - servo:better-exceptions, r=jdm
Stringify unknown JavaScript objects in global exception handlers

When turning DOM exceptions into `ErrorInfo` always try to stringify
the JavaScript value, even if it's an object that isn't a `DOMException`
or native exception.  This means that exceptions that extend the `Error`
prototype are now stringified. The result is that test output for WPT
global assertion failures is more useful. For instance for the test
include-frames-from-child-same-origin-grandchild.sub.html:

Before:
```
uncaught exception: unknown (can't convert to string)
```

After:
```
uncaught exception: Error: assert_equals: expected 4 but got 3
```
---

<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] There are tests for these changes.
2023-01-17 17:16:45 +01:00
bors-servo
b52547b24e
Auto merge of #29226 - servo:wpt_update_11-01-2023, r=delan
Sync WPT with upstream (11-01-2023)

Automated downstream sync of changes from upstream as of 11-01-2023
[no-wpt-sync]
r? @servo-wpt-sync
2023-01-17 09:35:39 +01:00
Martin Robinson
0d7284dc34 Allow displaying content with "application/json" mime type
For me this allows the WPT test
performance-timeline/tentative/include-frames-one-remote-child.sub.html
to match expected results. The wptserver is sending a 404 JSON response
because the URL that the test requests is not found.
2023-01-16 10:21:41 +01:00
Martin Robinson
42c3d05d2b Simplify Python code for running WPT tests
Combine `run.py` and `update.py` into `servowpt.py` in order to allow
them to share code. Import them directly into the mach script to avoid
having to call `compile` and `exec` on the code. This makes it clearer
how they are executed. In addition, move all of the setup into
`setupwpt.py` to avoid differences between tests executed via mach and
not. Finally, be more ambitious when detecting the build to use. If none
was specified, try to use the one that exists between "release" and
"debug."
2023-01-13 16:23:52 +01:00
Martin Robinson
e68ebd2617 Stringify unknown JavaScript objects in global exception handlers
When turning DOM exceptions into `ErrorInfo` always try to stringify
the JavaScript value, even if it's an object that isn't a `DOMException`
or native exception.  This means that exceptions that extend the `Error`
prototype are now stringified. The result is that test output for WPT
global assertion failures is more useful. For instance for the test
include-frames-from-child-same-origin-grandchild.sub.html:

Before:
```
uncaught exception: unknown (can't convert to string)
```

After:
```
uncaught exception: Error: assert_equals: expected 4 but got 3
```
2023-01-12 19:57:51 +01:00
bors-servo
633f14df11
Auto merge of #29232 - delan:update-wpt-server-instructions, r=mrobinson
wpt: update README instructions about running tests manually

I wanted to run a single test many times in parallel to smoke out some timeouts, but this was surprisingly tricky. This involved running multiple instances of `mach test-wpt`, which in turn involved convincing wptrunner not to start a WPT server for each instance, which is not currently exposed as an option. I also eventually realised I needed to install a custom testharnessreport.js, but the instructions were very outdated, so most of the paths and commands etc had changed.

This patch adds a section about running `mach test-wpt` with an external WPT server, and updates the section about running tests manually.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [ ] ~~`./mach build -d` does not report any errors~~
- [ ] ~~`./mach test-tidy` does not report any errors~~
- [ ] These changes fix #___ (GitHub issue number if applicable)

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they affect the wpt readme only
2023-01-12 05:41:22 +01:00
Delan Azabani
e8750f1012 clarify that config.json needs to go in tests/wpt/web-platform-tests 2023-01-11 22:39:49 +08:00
Delan Azabani
0185b6c4bf wpt: update README instructions about running tests manually 2023-01-11 22:31:24 +08:00
Martin Robinson
6defd7011b Fix intermittency when loading poster images
Wait until a poster image is cached to in order to unblock document load. If
not, the document may continue loading before the image is ready to use,
leading to intermittency in test output. Now load is unblocked when
getting the ImageResponse from the cache, which allows the code to
properly unblock the load when the entire load fails or succeeds.

This reveals several false passes in the `object-view-box` test suite
which were very flaky.

Fixes #29204.
Fixes #29188.
Fixes #29179.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2023-01-11 12:27:27 +01:00
WPT Sync Bot
fb586f68cc Update web-platform-tests to revision b'8ff38c54ff3fab31f862570a38e73755785ba7ee' 2023-01-11 02:40:26 +00:00
WPT Sync Bot
5d42981cb2 Update web-platform-tests to revision b'a0ddc451e02afbbe600c679fe1edab0e4f878ecf' 2023-01-10 02:48:34 +00:00
WPT Sync Bot
71255b8ef7 Update web-platform-tests to revision b'8e8075e9b5d932def46c3e36f41435baa9726a2f' 2023-01-09 01:36:13 +00:00
Josh Matthews
1185d0c5c8
remove intermittent result. 2023-01-08 08:14:12 -05:00
Josh Matthews
33ed47fd17
Remove intermittent result. 2023-01-08 01:02:38 -05:00
WPT Sync Bot
fd56698ec7 Update web-platform-tests to revision b'421155a1c8752a36b465e62f466b18f821190e08' 2023-01-08 01:57:36 +00:00
WPT Sync Bot
fe5988549d Update web-platform-tests to revision b'f6ca9770e448b058b51b46ada9c257acb39c68fb' 2022-12-29 01:37:51 +00:00
WPT Sync Bot
81ce957720 Update web-platform-tests to revision b'2a23f5b2388fc73716c6c4abefbfd6e1cc1cf35d' 2022-12-26 01:35:18 +00:00
WPT Sync Bot
a04daa7e71 Update web-platform-tests to revision b'e64f8298db78f39737eefedf5f59b99ba98d309b' 2022-12-24 01:30:45 +00:00
WPT Sync Bot
41d386c907 Update web-platform-tests to revision b'5656a2f4653b5894c500b724778009ca9a26e48c' 2022-12-23 01:34:56 +00:00
WPT Sync Bot
702d7621cf Update web-platform-tests to revision b'66a2552e58afc4f50e87b2306839664c1447e265' 2022-12-21 01:44:03 +00:00
WPT Sync Bot
4e2c1b7804 Update web-platform-tests to revision b'7c349a39c8b89de423a60c7ef461f9f47f4e5821' 2022-12-19 01:20:21 +00:00
WPT Sync Bot
bc35487659 Update web-platform-tests to revision b'e9baa05836ecf60b3aec73de9b55cd7c20952f34' 2022-12-18 01:54:20 +00:00
WPT Sync Bot
02d490892d Update web-platform-tests to revision b'9ce4a6482a088da3d74f895d8ad15c5ce0c25d28' 2022-12-17 01:20:20 +00:00