Summary: | [ Mojave wk1 Release ] animations/transition-and-animation-1.html is a flaky failure | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Truitt Savell <tsavell> | ||||||
Component: | Animations | Assignee: | Antoine Quint <graouts> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | dino, graouts, graouts, simon.fraser, webkit-bot-watchers-bugzilla, webkit-bug-importer | ||||||
Priority: | P2 | Keywords: | InRadar | ||||||
Version: | WebKit Nightly Build | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Attachments: |
|
Description
Truitt Savell
2020-04-06 09:23:34 PDT
I am able to reproduce this failure using this command on a debug build: run-webkit-tests --iterations 2000 --exit-after-n-failures 1 --exit-after-n-crashes-or-timeouts 1 --debug-rwt-logging --no-retry --force --no-build -f -g -1 animations/transition-and-animation-1.html Looking deeper in the history, this test appears to fail every couple of days for nearly the whole visible history. Created attachment 397194 [details]
Patch
Comment on attachment 397194 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=397194&action=review > LayoutTests/animations/transition-and-animation-1.html:50 > +document.getElementById("box").addEventListener("animationend", event => { > + requestAnimationFrame(timestamp => { > + checkExpectedValue(expectedValues, 0); > + endTest(); > + }); > +}); This would be really nice if you made a re-usable promise-based "animationend" thing and used async/await here. See UIHelper.animationFrame(). (In reply to Simon Fraser (smfr) from comment #5) > Comment on attachment 397194 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=397194&action=review > > > LayoutTests/animations/transition-and-animation-1.html:50 > > +document.getElementById("box").addEventListener("animationend", event => { > > + requestAnimationFrame(timestamp => { > > + checkExpectedValue(expectedValues, 0); > > + endTest(); > > + }); > > +}); > > This would be really nice if you made a re-usable promise-based > "animationend" thing and used async/await here. See > UIHelper.animationFrame(). We could also use the Web Animations API which already has the finished promise. I just assumed these tests were supposed to be "pure CSS" as much as possible and not use the Web Animations API. Created attachment 397196 [details]
Patch
Comment on attachment 397196 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=397196&action=review > LayoutTests/animations/transition-and-animation-1.html:23 > to { -webkit-transform: translateX(300px); } Might as well remove prefixes too. > LayoutTests/animations/transition-and-animation-1.html:26 > + <script src="../resources/ui-helper.js" type="text/javascript" charset="utf-8"></script> You can drop the type="text/javascript" charset="utf-8" in this and the next script tag. (In reply to Simon Fraser (smfr) from comment #8) > Comment on attachment 397196 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=397196&action=review > > > LayoutTests/animations/transition-and-animation-1.html:23 > > to { -webkit-transform: translateX(300px); } > > Might as well remove prefixes too. > > > LayoutTests/animations/transition-and-animation-1.html:26 > > + <script src="../resources/ui-helper.js" type="text/javascript" charset="utf-8"></script> > > You can drop the type="text/javascript" charset="utf-8" in this and the next > script tag. Will do in the commit. Committed r260513: <https://trac.webkit.org/changeset/260513> Committed r260521: <https://trac.webkit.org/changeset/260521> |