The svg-graphics-element tests are currently flaky, making the tests fail randomly when submitting PRs.
This is due to three separate issues:
We don't support svg elements subjects, as offsetTop/Left/Parent are not available for SVGElement
Injecting 1s in the animation shorthand failed after removing auto duration
WPT subtests might run before animations are polyfilled
The first two issues are easy to solve, but the third is more complicated.
The polyfill waits for animationstart before polyfilling animations. At this point the wpt test might have started already, causing the test to fail or time out.
It is possible to proxy the promise_test() function, so that it waits for the polyfill before running the test. However, the wpt test runner only allows one injected script. To make the test pass then we either have to:
Setup the proxy in the production build
Have a separate test build with the proxy included
It seems like several others polyfill projects have run into similar problems (https://github.com/web-platform-tests/wpt/issues/38227). I wish it was possible to inject multiple scripts into the wpt test runner, but that might not be feasible.
Depends on #244
Adding another PR for discussion:
The
svg-graphics-element
tests are currently flaky, making the tests fail randomly when submitting PRs. This is due to three separate issues:auto
durationThe first two issues are easy to solve, but the third is more complicated.
The polyfill waits for
animationstart
before polyfilling animations. At this point the wpt test might have started already, causing the test to fail or time out.It is possible to proxy the
promise_test()
function, so that it waits for the polyfill before running the test. However, the wpt test runner only allows one injected script. To make the test pass then we either have to:It seems like several others polyfill projects have run into similar problems (https://github.com/web-platform-tests/wpt/issues/38227). I wish it was possible to inject multiple scripts into the wpt test runner, but that might not be feasible.