github web-platform-tests/wpt merge_pr_49245

latest releases: merge_pr_49470, epochs/three_hourly/2024-12-03_06H, epochs/six_hourly/2024-12-03_06H...
3 months ago

Revert "Deflake and speed up LoAF tests"

This reverts commit 058683c45f4b066aa9fca0c9bc73e717b90981ca.

Reason for revert:
LUCI Bisection has identified this change as the cause of a test failure. See the analysis: https://ci.chromium.org/ui/p/chromium/bisection/test-analysis/b/6038363481047040

Sample build with failed test: https://ci.chromium.org/b/8730896296404983105
Affected test(s):
ninja://:blink_wpt_tests/external/wpt/long-animation-frame/tentative/loaf-first-ui-event.html
ninja://:blink_wpt_tests/virtual/threaded/external/wpt/long-animation-frame/tentative/loaf-first-ui-event.html

If this is a false positive, please report it at http://b.corp.google.com/createIssue?component=1199205&description=Analysis%3A+https%3A%2F%2Fci.chromium.org%2Fui%2Fp%2Fchromium%2Fbisection%2Ftest-analysis%2Fb%2F6038363481047040&format=PLAIN&priority=P3&title=Wrongly+blamed+https%3A%2F%2Fchromium-review.googlesource.com%2Fc%2Fchromium%2Fsrc%2F%2B%2F6022841&type=BUG

Original change's description:

Deflake and speed up LoAF tests

The main cause for flakiness in long-animation-frame tests
was the fact that long animation frames can be caused by
arbitrary system operations, unrelated to the ones created by
the test, and those would generate noise that would make the
tests believe that the entries are incorrect.

The previous mitigation was to generate really long LoAFs (360ms),
filter only really-long LoAFs, and also retry 10 times.
However, this brittle approach had several issues:

  • In some cases there could be enough noise where this wouldn't filter
    it well enough.
  • If the implementation itself is flaky, the test would pass.
  • It makes the test very slow and CPU-consuming (a generated LoAF is
    a CPU spin).

The new approach, is to mark the time during calls to busy_wait,
and filter only the LoAFs that contain the actual busy_wait call.
This filters out any LoAF that we didn't generate ourselves in the test.
This also allows us to reduce the busy_wait time from 360ms to 120ms.

Refactored some tests to call the utils busy_wait instead of rolling
their own.

Bug: 40263438
Bug: 41484738
Bug: 369956892
Bug: 336691003
Bug: 335003887
Change-Id: Idf3505aef54837f7d7200b0dc57dffdec7c748c6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6022841
Reviewed-by: Scott Haseley shaseley@chromium.org
Commit-Queue: Noam Rosenthal nrosenthal@chromium.org
Cr-Commit-Position: refs/heads/main@{#1384560}

Bug: 40263438
Bug: 41484738
Bug: 369956892
Bug: 336691003
Bug: 335003887
Change-Id: If148ca8270cd4a5b5c250cd9cc25a833f0f307cf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6032015
Reviewed-by: Scott Haseley shaseley@chromium.org
Owners-Override: Kelvin Jiang kelvinjiang@chromium.org
Commit-Queue: Kelvin Jiang kelvinjiang@chromium.org
Reviewed-by: Kelvin Jiang kelvinjiang@chromium.org
Cr-Commit-Position: refs/heads/main@{#1384642}

Don't miss a new wpt release

NewReleases is sending notifications on new releases.