Commit graph

45636 commits

Author SHA1 Message Date
bors-servo
2826dd753d
Auto merge of #29035 - yvt:patch/process-pending-animation-events, r=mrobinson
Don't hold back the delivery of pending animation events

The script event loop can block for an indefinite period despite having pending animation-related events that it needs to deliver immediately.

The bug can cause a test timeout in `/css/css-transitions/events-001.html` but (to my knowledge) never manifested in `master` because any irrelevant messages received by the script thread afterward would unblock the event loop and cause it to process any pending animation-related events. We can reproduce the bug in `master` by removing [the `maybe_observe_paint_time` call][2] in `LayoutThread::compute_abs_pos_and_build_display_list`. This also explains the test failure [seen in #28708][1] because the same call is [commented out][3].

[1]: https://github.com/servo/servo/pull/28708#issuecomment-1080003778
[2]: 5448528279/components/layout_thread/lib.rs (L1156-L1157)
[3]: 03a41ffe32/components/layout_thread/lib.rs (L1186-L1187)

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #___ (GitHub issue number if applicable)

---
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because ___
2023-02-14 02:41:36 +01:00
Benjamin Freist
10ef6cdb38 26488 Move worklet drop implementation into single droppable member
Signed-off-by: Benjamin Freist <bfreist@soundhound.com>
2023-02-13 20:23:34 +01:00
Alex Touchet
385285cc04 Update fs_extra 2023-02-13 08:08:40 -08:00
bors-servo
f45c424292
Auto merge of #29343 - atouchet:raq, r=jdm
Use crates.io release of raqote

<!-- Please describe your changes on the following line: -->
The latest raqote version has been published to crates.io now.

---
<!-- 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
- [ ] These changes do not require tests because ___

<!-- 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-02-13 14:04:03 +01:00
bors-servo
2e919f99da
Auto merge of #29356 - mukilan:mukilan/fix-gstreamer-version-on-mac, r=delan
Update gst plugin for videoconvert & videoscale elements

GStreamer 1.22 has [merged](d11f13f476 (0f8c6b125485c13b682ebcb8fd2f7266439ac317)) the 'gstvideoscale' and 'gstvideoconvert' plugins into a new 'gstvideoconvertscale' plugin.  Since we hardcode the plugin names [here](https://github.com/servo/servo/blob/master/python/servo/gstreamer.py#L68) and [here](https://github.com/servo/servo/blob/master/python/servo/gstreamer.py#L71), to support packaging them with the binary, the builds on MacOS have started to fail since Homebrew upgraded to 1.22.

This PR is a temporary fix to allow CI builds to succeed & PRs to be merged.

 I see code path in the packaging logic for Windows msvc also relies on these plugin names when media-stack is set to 'gstreamer' (I believe it is 'dummy' by default and on nightlies). Ideally, we should fix the packaging logic so that it can handle both older versions of GST (<1.22) and both mac & win platforms. I'll follow up on this with an new issue.

---
<!-- 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 #29344

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because we are only changing the release packaging logic.

<!-- 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-02-13 08:04:30 +01:00
Mukilan Thiyagarajan
7ce693d505 Update gst plugin for videoconvert & videoscale elements 2023-02-11 10:19:59 +05:30
Martin Robinson
5b3f147110 Make two small improvements to try result comment
Sort the test names alphabetically so that they are stable between try
runs and also include the action URL in the comment when possible.
2023-02-10 16:50:53 +01:00
yvt
effd5a3107 fix(script): request animation ticks if Animations::pending_events is not empty
Fixes the test case `/_mozilla/css/css-transition-cancel-event
.html`, which was failing under a specific circumstance.

The observed sequence of events during the failing test run looks like
this:

1. Transitions start in `div1` and `div2`.

2. `div1` generates a `transitionend` event.

3. The `transitionend` event handler removes `div2` from DOM, cancelling
   its ongoing transition.

4. `div2` is supposed to generate a `transitioncancel` event in a timely
   manner, which it does not. The test fails as a result.

What is going on here? Here's a possible explaination:

1. During one invocation of `ScriptThread::handle_msgs`...

2. In step 2, `ScriptThread::update_animations_send_events` -> `Document
   ::update_for_new_timeline_value` detects the completion of the
   transition, and in response, pends the `transitionend` event.

3. In step 3, `ScriptThread::update_animations_send_events` ->
   `Animations::send_pending_events` calls the `transitionend` handler.

4. The `transitionend` event handler removes `div2`, thereby cancelling
   its ongoing transition and triggering a reflow.

5. Reflow takes place. During this, `Animations::do_post_reflow_update`
   -> `Animations::handle_canceled_animations` pends the
   `transitioncancel` event (precursor to step 4).

6. Having discovering that there was no running animation, `Animations::
   do_post_reflow_update` calls `self.update_running_animation_presence
   (_, false)`, which sends `AnimationState::NoAnimationsPresent`.

7. The invocation of `ScriptThread::handle_msgs` ends, and another
   starts. It blocks waiting for events.

8. Meanwhile, the compositor receives `AnimationState::
   NoAnimationsPresent` and stops further generation of animation ticks.

9. With no events to wake it up, the script thread is stuck waiting
   despite having the pending `transitioncancel` event (step 4).

The HTML specification [says][1] that "an event loop must continually
run [...] as long as it exists" and does not say it can block if there
is nothing to do. Blocking is merely optimization in a user agent
implementation. Pending animation-related events must be processed every
time a "rendering opportunity" arises unless the user agent has a reason
to believe that it "would have no visible effect".

Skipping the processing of animation-related events would have visible
effect if such events are indeed present. The correct implementation in
Servo, therefore, would be to request more animation ticks so that such
events are processed in a subsequent tick.

[1]: https://html.spec.whatwg.org/multipage/#event-loop-processing-model
2023-02-10 14:44:27 +01:00
yvt
af1b0b0f14 fix(script): update animation timeline before processing pending events
This commit reverses the order of the `send_pending_events` and
`update_animation_timeline` calls in `ScriptThread::update_animations_
send_events` so that animation-related events pended by the latter are
processed by the former.

The new calling order is more compliant with the "update animations and
send events" algorithm steps from [the Web Animations specification][1].

The old implementation was prone to blocking for an indefinite period
while holding pending events. Due to complex interaction with other
events and timing behavior, I was only able to reproduce the problem
under the following conditions:

- *The `maybe_observe_paint_time` call in `LayoutThread::compute_abs_
  pos_and_build_display_list` is removed from the code*. While
  performance events may seem irrelevant to the issue, they would
  bombard the script thread with events. *Any* extra messages received
  would unblock the event loop and prevent the manifestation of the
  issue. (But, of course, we aren't supposed to count on that to avoid
  the issue.)

- Servo is running in a headless mode, which somehow makes it less
  likely for the script thread to receive a `TickAllAnimations` event
  after sending `AnimationState::NoAnimationsPresent`.

With the above conditions met and the stars aligned, you can reproduce
the problem by running the WPT test `/css/css-transitions/events-001.
html`.

[1]: https://drafts.csswg.org/web-animations-1/#update-animations-and-send-events
2023-02-10 12:42:51 +01:00
Alex Touchet
d1c6a7ac1d Use crates.io release of raqote 2023-02-08 19:36:12 -08:00
dependabot[bot]
568f053217
Bump typed-arena from 2.0.1 to 2.0.2
Bumps [typed-arena](https://github.com/SimonSapin/rust-typed-arena) from 2.0.1 to 2.0.2.
- [Release notes](https://github.com/SimonSapin/rust-typed-arena/releases)
- [Changelog](https://github.com/SimonSapin/rust-typed-arena/blob/master/CHANGELOG.md)
- [Commits](https://github.com/SimonSapin/rust-typed-arena/compare/2.0.1...2.0.2)

---
updated-dependencies:
- dependency-name: typed-arena
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-08 19:03:53 +00:00
bors-servo
aa2e1433d2
Auto merge of #29252 - servo:update-euclid, r=jdm
Bump euclid to 0.22

Major changes:

- All matrices are now stored in row major order. This means that parameters to rotation functions should no longer be negated.
- `post_...()` functions are now named `then()`. `pre_transform()` is removed, so `then()` is used and the order of operations changed.

In addition, this PR updates lyon_geom to the latest version.

<!-- 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 #27424
- [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-02-08 18:15:03 +01:00
dependabot[bot]
4644cbff7c
Bump libdbus-sys from 0.2.2 to 0.2.4
Bumps [libdbus-sys](https://github.com/diwic/dbus-rs) from 0.2.2 to 0.2.4.
- [Release notes](https://github.com/diwic/dbus-rs/releases)
- [Commits](https://github.com/diwic/dbus-rs/compare/libdbus-sys-v0.2.2...libdbus-sys-v0.2.4)

---
updated-dependencies:
- dependency-name: libdbus-sys
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-07 16:47:00 +00:00
dependabot[bot]
873e2308d0
Bump spin from 0.9.4 to 0.9.5
Bumps [spin](https://github.com/mvdnes/spin-rs) from 0.9.4 to 0.9.5.
- [Release notes](https://github.com/mvdnes/spin-rs/releases)
- [Changelog](https://github.com/mvdnes/spin-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mvdnes/spin-rs/commits)

---
updated-dependencies:
- dependency-name: spin
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-07 16:44:38 +00:00
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
dependabot[bot]
7360af1763
Bump exr from 1.5.1 to 1.5.3
Bumps [exr](https://github.com/johannesvollmer/exrs) from 1.5.1 to 1.5.3.
- [Release notes](https://github.com/johannesvollmer/exrs/releases)
- [Commits](https://github.com/johannesvollmer/exrs/compare/v1.5.1...v1.5.3)

---
updated-dependencies:
- dependency-name: exr
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-06 16:27:57 +00:00
bors-servo
9c0592d6a4
Auto merge of #29329 - servo:wpt_update_06-02-2023, r=servo-wpt-sync
Sync WPT with upstream (06-02-2023)

Automated downstream sync of changes from upstream as of 06-02-2023
[no-wpt-sync]
r? @servo-wpt-sync
2023-02-06 02:34:01 +01:00
WPT Sync Bot
a0129273b8 Update web-platform-tests to revision b'dc3450e06f4e9dbac799d33d52e25b204f5a751c' 2023-02-06 01:33:49 +00:00
bors-servo
0231827fb4
Auto merge of #29327 - servo:wpt_update_05-02-2023, r=servo-wpt-sync
Sync WPT with upstream (05-02-2023)

Automated downstream sync of changes from upstream as of 05-02-2023
[no-wpt-sync]
r? @servo-wpt-sync
2023-02-05 02:51:00 +01: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
dependabot[bot]
3ba38e667a
Bump tinyvec_macros from 0.1.0 to 0.1.1
Bumps [tinyvec_macros](https://github.com/Soveu/tinyvec_macros) from 0.1.0 to 0.1.1.
- [Release notes](https://github.com/Soveu/tinyvec_macros/releases)
- [Commits](https://github.com/Soveu/tinyvec_macros/commits)

---
updated-dependencies:
- dependency-name: tinyvec_macros
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-03 16:07:47 +00:00
bors-servo
126f8f48e4
Auto merge of #29323 - mrobinson:aggregate-logs, r=jdm
ci: Produce a single WPT log artifact

GitHub supports adding files to an artifact in parallel, as long as the filenames are unique. This makes it easier to download build results when more than a single builder fails.

<!-- 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 this is a small change to the CI.

<!-- 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-02-03 10:59:57 +01:00
bors-servo
5a4bfc39e3
Auto merge of #29319 - servo:dependabot/cargo/unicode-segmentation-1.10.1, r=jdm
Bump unicode-segmentation from 1.9.0 to 1.10.1

Bumps [unicode-segmentation](https://github.com/unicode-rs/unicode-segmentation) from 1.9.0 to 1.10.1.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/unicode-rs/unicode-segmentation/commits/v1.10.1">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=unicode-segmentation&package-manager=cargo&previous-version=1.9.0&new-version=1.10.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>
2023-02-03 07:23:51 +01:00
bors-servo
0dd7e4e772
Auto merge of #29322 - mrobinson:tidy-sooner, r=jdm
Run `test-tidy` sooner for pull requests

This lets the builder fail sooner when there is an issue with the style.

<!-- 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 a small change to the CI.
2023-02-03 01:38:09 +01:00
Martin Robinson
cc1ccf8aff ci: Produce a single WPT log artifact
GitHub supports adding files to an artifact in parallel, as long as the
filenames are unique. This makes it easier to download build results
when more than a single builder fails.
2023-02-02 15:54:04 +01:00
Martin Robinson
37e0b6feb8 Run test-tidy sooner for pull requests
This lets the builder fail sooner when there is an issue
with the style.
2023-02-02 15:42:31 +01:00
bors-servo
d581131f1c
Auto merge of #29318 - mukilan:upgrade-nightly-2023-02-01, r=delan
Upgrade the Rust toolchain to 'nightly-2023-02-01'

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

This change should address the failing nightly [rustc test jobs](https://github.com/servo/servo/actions/workflows/nightly-rust.yml)

For reference, these are the [relevant](https://github.com/rust-lang/rust/pull/107206) [PRs](https://github.com/rust-lang/rust/pull/104170) in rustc that I could find.

Signed-off-by: Mukilan Thiyagarajan <mukilanthiagarajan@gmail.com>

---
<!-- 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
- [ ] These changes fix #___ (GitHub issue number if applicable)

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because there are existing unit tests for script_plugins that do pass.

<!-- 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-02-02 13:53:44 +01:00
bors-servo
eb5c79243f
Auto merge of #29321 - servo:wpt_update_02-02-2023, r=servo-wpt-sync
Sync WPT with upstream (02-02-2023)

Automated downstream sync of changes from upstream as of 02-02-2023
[no-wpt-sync]
r? @servo-wpt-sync
2023-02-02 02:55:54 +01:00
WPT Sync Bot
ec63c43030 Update web-platform-tests to revision b'd1192ca239e944dc6cdbcd079e1c16227e08e30c' 2023-02-02 01:55:40 +00:00
bors-servo
69b272b4e1
Auto merge of #29317 - delan:structured-subtest-results, r=mrobinson
wpt: retain raw results for unexpected tests and subtests

ServoHandler currently processes the raw results for unexpected tests and subtests on the fly, discarding the test_end (test) or test_status (subtest) event data once it has generated output for the events.

This patch retains that event data in ServoHandler.test_failures and ServoHandler.subtest_failures, allowing servowpt.py to send structured data about unexpected tests and subtests to the dashboard (servo/intermittent-tracker#5), e.g.

```diff
diff --git a/tests/wpt/servowpt.py b/tests/wpt/servowpt.py
index fee6dcf2df..ac3e46e36d 100644
--- a/tests/wpt/servowpt.py
+++ b/tests/wpt/servowpt.py
@@ -27,6 +27,7 @@ import update  # noqa: F401,E402

 TRACKER_API = "https://build.servo.org/intermittent-tracker"
 TRACKER_API_ENV_VAR = "INTERMITTENT_TRACKER_API"
+TRACKER_DASHBOARD_SECRET_ENV_VAR = "INTERMITTENT_TRACKER_DASHBOARD_SECRET"
 GITHUB_API_TOKEN_ENV_VAR = "INTERMITTENT_TRACKER_GITHUB_API_TOKEN"

@@ -145,6 +146,48 @@ def run_tests(**kwargs):
     logger.add_handler(handler)

     wptrunner.run_tests(**kwargs)
+
+    if TRACKER_DASHBOARD_SECRET_ENV_VAR in os.environ:
+        body = []
+        for failure in handler.test_failures:
+            # print(f'>>> {repr(failure)}')
+            body.append({
+                'path': failure['test'],
+                'subtest': None,
+                'expected': failure['expected'],
+                'actual': failure['status'],
+                'time': failure['time'] // 1000,
+                'message': failure.get('message'),
+                'stack': failure.get('stack'),
+                'branch': os.environ.get('SERVO_BRANCH'),
+                'build_url': os.environ.get('SERVO_BUILD_URL'),
+                'pull_url': os.environ.get('SERVO_PULL_URL'),
+            })
+        for (path, failures) in handler.subtest_failures.items():
+            for failure in failures:
+                # print(f'>>> {repr(failure)}')
+                body.append({
+                    'path': path,
+                    'subtest': failure['subtest'],
+                    'expected': failure['expected'],
+                    'actual': failure['status'],
+                    'time': failure['time'] // 1000,
+                    'message': failure.get('message'),
+                    'stack': failure.get('stack'),
+                    'branch': os.environ.get('SERVO_BRANCH'),
+                    'build_url': os.environ.get('SERVO_BUILD_URL'),
+                    'pull_url': os.environ.get('SERVO_PULL_URL'),
+                })
+        request = urllib.request.Request(
+            f'{os.environ.get(TRACKER_API_ENV_VAR, TRACKER_API)}/dashboard/attempts',
+            method='POST',
+            data=json.dumps(body).encode('utf-8'),
+            headers={
+                'Authorization': f'Bearer {os.environ[TRACKER_DASHBOARD_SECRET_ENV_VAR]}',
+                'Content-Type': 'application/json',
+            })
+        urllib.request.urlopen(request)
+
     if handler.unexpected_results and filter_intermittents_output:
         all_filtered = filter_intermittents(
             handler.unexpected_results,
```

---
<!-- 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
- [ ] These changes do not require tests because ___
2023-02-01 17:35:52 +01:00
dependabot[bot]
50c9a11fc3
Bump unicode-segmentation from 1.9.0 to 1.10.1
Bumps [unicode-segmentation](https://github.com/unicode-rs/unicode-segmentation) from 1.9.0 to 1.10.1.
- [Release notes](https://github.com/unicode-rs/unicode-segmentation/releases)
- [Commits](https://github.com/unicode-rs/unicode-segmentation/commits/v1.10.1)

---
updated-dependencies:
- dependency-name: unicode-segmentation
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 16:25:52 +00:00
Mukilan Thiyagarajan
5738a16dcb Upgrade the Rust toolchain to 'nightly-2023-02-01'
Signed-off-by: Mukilan Thiyagarajan <mukilanthiagarajan@gmail.com>
2023-02-01 19:38:06 +05:30
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
dependabot[bot]
5ac5a62a99
Bump futures-channel from 0.3.25 to 0.3.26
Bumps [futures-channel](https://github.com/rust-lang/futures-rs) from 0.3.25 to 0.3.26.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.25...0.3.26)

---
updated-dependencies:
- dependency-name: futures-channel
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-31 16:22:47 +00:00
bors-servo
4aac7e4d3c
Auto merge of #29313 - servo:wpt_update_31-01-2023, r=servo-wpt-sync
Sync WPT with upstream (31-01-2023)

Automated downstream sync of changes from upstream as of 31-01-2023
[no-wpt-sync]
r? @servo-wpt-sync
2023-01-31 04:56:27 +01:00
WPT Sync Bot
48c9556bb6 Update web-platform-tests to revision b'94be51cc50986018ab25e8a952bf234862ef3e5f' 2023-01-31 01:40:55 +00:00
bors-servo
400d0af63d
Auto merge of #29311 - servo:dependabot/cargo/futures-channel-0.3.25, r=jdm
Bump futures-channel from 0.3.21 to 0.3.25

Bumps [futures-channel](https://github.com/rust-lang/futures-rs) from 0.3.21 to 0.3.25.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/futures-rs/releases">futures-channel's releases</a>.</em></p>
<blockquote>
<h2>0.3.25</h2>
<ul>
<li>Fix soundness issue in <code>join!</code> and <code>try_join!</code> macros (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2649">#2649</a>)</li>
<li>Implement <code>Clone</code> for <code>sink::Drain</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2650">#2650</a>)</li>
</ul>
<h2>0.3.24</h2>
<ul>
<li>Fix incorrect termination of <code>select_with_strategy</code> streams (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2635">#2635</a>)</li>
</ul>
<h2>0.3.23</h2>
<ul>
<li>Work around MSRV increase due to a cargo bug.</li>
</ul>
<h2>0.3.22</h2>
<ul>
<li>Fix <code>Sync</code> impl of <code>BiLockGuard</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2570">#2570</a>)</li>
<li>Fix partial iteration in <code>FuturesUnordered</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2574">#2574</a>)</li>
<li>Fix false detection of inner panics in <code>Shared</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2576">#2576</a>)</li>
<li>Add <code>Mutex::lock_owned</code> and <code>Mutex::try_lock_owned</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2571">#2571</a>)</li>
<li>Add <code>io::copy_buf_abortable</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2507">#2507</a>)</li>
<li>Remove <code>Unpin</code> bound from <code>TryStreamExt::into_async_read</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2599">#2599</a>)</li>
<li>Make <code>run_until_stalled</code> handle self-waking futures (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2593">#2593</a>)</li>
<li>Use <code>FuturesOrdered</code> in <code>try_join_all</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2556">#2556</a>)</li>
<li>Fix orderings in <code>LocalPool</code> waker (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2608">#2608</a>)</li>
<li>Fix <code>stream::Chunk</code> adapters size hints (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2611">#2611</a>)</li>
<li>Add <code>push_front</code> and <code>push_back</code> to <code>FuturesOrdered</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2591">#2591</a>)</li>
<li>Deprecate <code>FuturesOrdered::push</code> in favor of <code>FuturesOrdered::push_back</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2591">#2591</a>)</li>
<li>Performance improvements (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2583">#2583</a>, <a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2626">#2626</a>)</li>
<li>Documentation improvements (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2579">#2579</a>, <a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2604">#2604</a>, <a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2613">#2613</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md">futures-channel's changelog</a>.</em></p>
<blockquote>
<h1>0.3.25 - 2022-10-20</h1>
<ul>
<li>Fix soundness issue in <code>join!</code> and <code>try_join!</code> macros (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2649">#2649</a>)</li>
<li>Implement <code>Clone</code> for <code>sink::Drain</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2650">#2650</a>)</li>
</ul>
<h1>0.3.24 - 2022-08-29</h1>
<ul>
<li>Fix incorrect termination of <code>select_with_strategy</code> streams (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2635">#2635</a>)</li>
</ul>
<h1>0.3.23 - 2022-08-14</h1>
<ul>
<li>Work around MSRV increase due to a cargo bug.</li>
</ul>
<h1>0.3.22 - 2022-08-14</h1>
<ul>
<li>Fix <code>Sync</code> impl of <code>BiLockGuard</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2570">#2570</a>)</li>
<li>Fix partial iteration in <code>FuturesUnordered</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2574">#2574</a>)</li>
<li>Fix false detection of inner panics in <code>Shared</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2576">#2576</a>)</li>
<li>Add <code>Mutex::lock_owned</code> and <code>Mutex::try_lock_owned</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2571">#2571</a>)</li>
<li>Add <code>io::copy_buf_abortable</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2507">#2507</a>)</li>
<li>Remove <code>Unpin</code> bound from <code>TryStreamExt::into_async_read</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2599">#2599</a>)</li>
<li>Make <code>run_until_stalled</code> handle self-waking futures (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2593">#2593</a>)</li>
<li>Use <code>FuturesOrdered</code> in <code>try_join_all</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2556">#2556</a>)</li>
<li>Fix orderings in <code>LocalPool</code> waker (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2608">#2608</a>)</li>
<li>Fix <code>stream::Chunk</code> adapters size hints (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2611">#2611</a>)</li>
<li>Add <code>push_front</code> and <code>push_back</code> to <code>FuturesOrdered</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2591">#2591</a>)</li>
<li>Deprecate <code>FuturesOrdered::push</code> in favor of <code>FuturesOrdered::push_back</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2591">#2591</a>)</li>
<li>Performance improvements (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2583">#2583</a>, <a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2626">#2626</a>)</li>
<li>Documentation improvements (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2579">#2579</a>, <a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2604">#2604</a>, <a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2613">#2613</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="77d82198c5"><code>77d8219</code></a> Release 0.3.25</li>
<li><a href="44dc9ef033"><code>44dc9ef</code></a> Fix soundness hole in join macros (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2649">#2649</a>)</li>
<li><a href="521f2ae50b"><code>521f2ae</code></a> Implement <code>Clone</code> for <code>Drain</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2650">#2650</a>)</li>
<li><a href="5364e6c086"><code>5364e6c</code></a> Fix clippy::unnecessary_cast warning</li>
<li><a href="485875f100"><code>485875f</code></a> Ignore unreachable_pub lint</li>
<li><a href="624a7ec917"><code>624a7ec</code></a> Update no_atomic_cas.rs</li>
<li><a href="8d2f385454"><code>8d2f385</code></a> Remove some double trait bounds (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2645">#2645</a>)</li>
<li><a href="0118f5c8f8"><code>0118f5c</code></a> Fix CI (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2644">#2644</a>)</li>
<li><a href="174cb01d5b"><code>174cb01</code></a> Release 0.3.24</li>
<li><a href="ce6bee08c7"><code>ce6bee0</code></a> Update no_atomic_cas.rs</li>
<li>Additional commits viewable in <a href="https://github.com/rust-lang/futures-rs/compare/0.3.21...0.3.25">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=futures-channel&package-manager=cargo&previous-version=0.3.21&new-version=0.3.25)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>
2023-01-30 23:03:07 +01:00
dependabot[bot]
4a9e56178e
Bump futures-channel from 0.3.21 to 0.3.25
Bumps [futures-channel](https://github.com/rust-lang/futures-rs) from 0.3.21 to 0.3.25.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.21...0.3.25)

---
updated-dependencies:
- dependency-name: futures-channel
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-30 16:11:51 +00:00
bors-servo
fbc2ac00fb
Auto merge of #29308 - servo:wpt_update_30-01-2023, r=servo-wpt-sync
Sync WPT with upstream (30-01-2023)

Automated downstream sync of changes from upstream as of 30-01-2023
[no-wpt-sync]
r? @servo-wpt-sync
2023-01-30 05:09:23 +01:00
WPT Sync Bot
a8371a92fd Update web-platform-tests to revision b'8c2b82d9aa621baeecb06fb346dbce0d19945861' 2023-01-30 01:34:14 +00:00
bors-servo
623e741885
Auto merge of #29307 - servo:wpt_update_29-01-2023, r=servo-wpt-sync
Sync WPT with upstream (29-01-2023)

Automated downstream sync of changes from upstream as of 29-01-2023
[no-wpt-sync]
r? @servo-wpt-sync
2023-01-29 02:42:40 +01:00
WPT Sync Bot
879f987fc2 Update web-platform-tests to revision b'7b1babebddf2f0fdd866fa8b83b8621b86590fc9' 2023-01-29 01:42:28 +00:00
bors-servo
5baf417a51
Auto merge of #29306 - servo:wpt_update_28-01-2023, r=jdm
Sync WPT with upstream (28-01-2023)

Automated downstream sync of changes from upstream as of 28-01-2023
[no-wpt-sync]
r? @servo-wpt-sync
2023-01-28 14:11:50 +01: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