Skip to content

Commit 8781b5a

Browse files
authored
Auto merge of #29664 - mrobinson:fix-animation-flakiness, r=<try>
Try to fix flakiness in animation tests Update all animations before forcing a reflow. <!-- 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 - [ ] These changes fix #___ (GitHub issue number if applicable) <!-- Either: --> - [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. -->
2 parents d577d44 + 97dd2df commit 8781b5a

File tree

9 files changed

+412
-108
lines changed

9 files changed

+412
-108
lines changed

components/script/dom/window.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1874,6 +1874,9 @@ impl Window {
18741874
document.flush_dirty_webgl_canvases();
18751875
}
18761876

1877+
document.update_animation_timeline();
1878+
document.animations().mark_animating_nodes_as_dirty();
1879+
18771880
let pending_restyles = document.drain_pending_restyles();
18781881

18791882
let dirty_root = document

etc/ci/report_aggregated_expected_results.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,14 @@ def __init__(self, title: str, body: str, children: list[Item]):
3434
self.children = children
3535

3636
@classmethod
37-
def from_result(cls, result: dict, title_key: str = "path", title_prefix: str = "", print_stack=True):
37+
def from_result(cls, result: dict, title: Optional[str], print_stack=True):
3838
expected = result["expected"]
3939
actual = result["actual"]
40-
title = result[title_key]
40+
title = title if title else result["path"]
4141
if expected != actual:
42-
title = f"{actual} [expected {expected}] {title_prefix}{title}"
42+
title = f"{actual} [expected {expected}] {title}"
4343
else:
44-
title = f"{actual} {title_prefix}{title}"
44+
title = f"{actual} {title}"
4545

4646
issue_url = "http://github.com/servo/servo/issues/"
4747
if "issues" in result and result["issues"]:
@@ -54,7 +54,10 @@ def from_result(cls, result: dict, title_key: str = "path", title_prefix: str =
5454

5555
subtest_results = result.get("unexpected_subtest_results", [])
5656
children = [
57-
cls.from_result(subtest_result, "subtest", "subtest: ", False)
57+
cls.from_result(
58+
subtest_result,
59+
f"subtest: {subtest_result['subtest']} {subtest_result.get('message', '')}",
60+
False)
5861
for subtest_result in subtest_results
5962
]
6063
return cls(title, body, children)

python/wpt/grouping_formatter.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,11 @@ def to_lines(result: Any[UnexpectedSubtestResult, UnexpectedResult], print_stack
9393

9494
# Test names sometimes contain control characters, which we want
9595
# to be printed in their raw form, and not their interpreted form.
96-
first_line += f" {result.path.encode('unicode-escape').decode('utf-8')}"
96+
if isinstance(result, UnexpectedSubtestResult):
97+
title = result.subtest
98+
else:
99+
title = result.path
100+
first_line += f" {title.encode('unicode-escape').decode('utf-8')}"
97101

98102
if isinstance(result, UnexpectedResult) and result.issues:
99103
first_line += f" ({', '.join([f'#{bug}' for bug in result.issues])})"

tests/wpt/metadata/css/css-transitions/animations/text-shadow-interpolation.html.ini

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,3 +127,147 @@
127127

128128
[Web Animations: property <text-shadow> from [black 0px 0px 0px\] to [black 1px 1px 1px\] at (1.5) should be [rgb(0, 0, 0) 1.5px 1.5px 1.5px\]]
129129
expected: FAIL
130+
131+
[CSS Transitions: property <text-shadow> from neutral to [green 20px 20px 20px\] at (0.3) should be [rgb(179, 154, 0) 13px 27px 13px\]]
132+
expected: FAIL
133+
134+
[CSS Transitions: property <text-shadow> from neutral to [green 20px 20px 20px\] at (1.5) should be [rgb(0, 110, 0) 25px 15px 25px\]]
135+
expected: FAIL
136+
137+
[CSS Transitions with transition: all: property <text-shadow> from neutral to [green 20px 20px 20px\] at (-0.3) should be [rgb(255, 176, 0) 7px 33px 7px\]]
138+
expected: FAIL
139+
140+
[CSS Transitions with transition: all: property <text-shadow> from neutral to [green 20px 20px 20px\] at (0.3) should be [rgb(179, 154, 0) 13px 27px 13px\]]
141+
expected: FAIL
142+
143+
[CSS Transitions with transition: all: property <text-shadow> from neutral to [green 20px 20px 20px\] at (0.6) should be [rgb(102, 143, 0) 16px 24px 16px\]]
144+
expected: FAIL
145+
146+
[CSS Transitions with transition: all: property <text-shadow> from neutral to [green 20px 20px 20px\] at (1.5) should be [rgb(0, 110, 0) 25px 15px 25px\]]
147+
expected: FAIL
148+
149+
[CSS Animations: property <text-shadow> from neutral to [green 20px 20px 20px\] at (-0.3) should be [rgb(255, 176, 0) 7px 33px 7px\]]
150+
expected: FAIL
151+
152+
[CSS Animations: property <text-shadow> from neutral to [green 20px 20px 20px\] at (0.3) should be [rgb(179, 154, 0) 13px 27px 13px\]]
153+
expected: FAIL
154+
155+
[CSS Animations: property <text-shadow> from neutral to [green 20px 20px 20px\] at (0.6) should be [rgb(102, 143, 0) 16px 24px 16px\]]
156+
expected: FAIL
157+
158+
[CSS Animations: property <text-shadow> from neutral to [green 20px 20px 20px\] at (1.5) should be [rgb(0, 110, 0) 25px 15px 25px\]]
159+
expected: FAIL
160+
161+
[CSS Transitions: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (0.6) should be [rgba(0, 128, 0, 0.6) 12px 12px 12px\]]
162+
expected: FAIL
163+
164+
[CSS Transitions: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (1.5) should be [rgb(0, 192, 0) 30px 30px 30px\]]
165+
expected: FAIL
166+
167+
[CSS Transitions with transition: all: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (-0.3) should be [rgba(0, 0, 0, 0) -6px -6px 0px\]]
168+
expected: FAIL
169+
170+
[CSS Transitions with transition: all: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (0.3) should be [rgba(0, 128, 0, 0.3) 6px 6px 6px\]]
171+
expected: FAIL
172+
173+
[CSS Transitions with transition: all: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (0.6) should be [rgba(0, 128, 0, 0.6) 12px 12px 12px\]]
174+
expected: FAIL
175+
176+
[CSS Transitions with transition: all: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (1.5) should be [rgb(0, 192, 0) 30px 30px 30px\]]
177+
expected: FAIL
178+
179+
[CSS Animations: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (-0.3) should be [rgba(0, 0, 0, 0) -6px -6px 0px\]]
180+
expected: FAIL
181+
182+
[CSS Animations: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (0.3) should be [rgba(0, 128, 0, 0.3) 6px 6px 6px\]]
183+
expected: FAIL
184+
185+
[CSS Animations: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (0.6) should be [rgba(0, 128, 0, 0.6) 12px 12px 12px\]]
186+
expected: FAIL
187+
188+
[CSS Animations: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (1.5) should be [rgb(0, 192, 0) 30px 30px 30px\]]
189+
expected: FAIL
190+
191+
[CSS Transitions: property <text-shadow> from [inherit\] to [green 20px 20px 20px\] at (0.3) should be [rgb(179, 154, 0) 27px 13px 27px\]]
192+
expected: FAIL
193+
194+
[CSS Transitions: property <text-shadow> from [inherit\] to [green 20px 20px 20px\] at (1.5) should be [rgb(0, 110, 0) 15px 25px 15px\]]
195+
expected: FAIL
196+
197+
[CSS Transitions with transition: all: property <text-shadow> from [inherit\] to [green 20px 20px 20px\] at (0.3) should be [rgb(179, 154, 0) 27px 13px 27px\]]
198+
expected: FAIL
199+
200+
[CSS Transitions with transition: all: property <text-shadow> from [inherit\] to [green 20px 20px 20px\] at (1.5) should be [rgb(0, 110, 0) 15px 25px 15px\]]
201+
expected: FAIL
202+
203+
[CSS Animations: property <text-shadow> from [inherit\] to [green 20px 20px 20px\] at (-0.3) should be [rgb(255, 176, 0) 33px 7px 33px\]]
204+
expected: FAIL
205+
206+
[CSS Animations: property <text-shadow> from [inherit\] to [green 20px 20px 20px\] at (0.3) should be [rgb(179, 154, 0) 27px 13px 27px\]]
207+
expected: FAIL
208+
209+
[CSS Animations: property <text-shadow> from [inherit\] to [green 20px 20px 20px\] at (0.6) should be [rgb(102, 143, 0) 24px 16px 24px\]]
210+
expected: FAIL
211+
212+
[CSS Animations: property <text-shadow> from [inherit\] to [green 20px 20px 20px\] at (1.5) should be [rgb(0, 110, 0) 15px 25px 15px\]]
213+
expected: FAIL
214+
215+
[CSS Transitions: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (0.3) should be [rgb(179, 154, 0) 27px 13px 27px\]]
216+
expected: FAIL
217+
218+
[CSS Transitions: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (1.5) should be [rgb(0, 110, 0) 15px 25px 15px\]]
219+
expected: FAIL
220+
221+
[CSS Transitions with transition: all: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (0.3) should be [rgb(179, 154, 0) 27px 13px 27px\]]
222+
expected: FAIL
223+
224+
[CSS Transitions with transition: all: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (0.6) should be [rgb(102, 143, 0) 24px 16px 24px\]]
225+
expected: FAIL
226+
227+
[CSS Transitions with transition: all: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (1.5) should be [rgb(0, 110, 0) 15px 25px 15px\]]
228+
expected: FAIL
229+
230+
[CSS Animations: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (-0.3) should be [rgb(255, 176, 0) 33px 7px 33px\]]
231+
expected: FAIL
232+
233+
[CSS Animations: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (0.3) should be [rgb(179, 154, 0) 27px 13px 27px\]]
234+
expected: FAIL
235+
236+
[CSS Animations: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (0.6) should be [rgb(102, 143, 0) 24px 16px 24px\]]
237+
expected: FAIL
238+
239+
[CSS Animations: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (1.5) should be [rgb(0, 110, 0) 15px 25px 15px\]]
240+
expected: FAIL
241+
242+
[CSS Transitions: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (0.3) should be [rgb(77, 50, 0) 6px 4px 11px\]]
243+
expected: FAIL
244+
245+
[CSS Transitions: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (0.6) should be [rgb(153, 99, 0) -3px -2px 17px\]]
246+
expected: FAIL
247+
248+
[CSS Transitions: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (1.5) should be [rgb(255, 248, 0) -30px -20px 35px\]]
249+
expected: FAIL
250+
251+
[CSS Transitions with transition: all: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (-0.3) should be [rgb(0, 0, 0) 24px 16px 0px\]]
252+
expected: FAIL
253+
254+
[CSS Transitions with transition: all: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (0.3) should be [rgb(77, 50, 0) 6px 4px 11px\]]
255+
expected: FAIL
256+
257+
[CSS Transitions with transition: all: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (0.6) should be [rgb(153, 99, 0) -3px -2px 17px\]]
258+
expected: FAIL
259+
260+
[CSS Transitions with transition: all: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (1.5) should be [rgb(255, 248, 0) -30px -20px 35px\]]
261+
expected: FAIL
262+
263+
[CSS Animations: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (-0.3) should be [rgb(0, 0, 0) 24px 16px 0px\]]
264+
expected: FAIL
265+
266+
[CSS Animations: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (0.3) should be [rgb(77, 50, 0) 6px 4px 11px\]]
267+
expected: FAIL
268+
269+
[CSS Animations: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (0.6) should be [rgb(153, 99, 0) -3px -2px 17px\]]
270+
expected: FAIL
271+
272+
[CSS Animations: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (1.5) should be [rgb(255, 248, 0) -30px -20px 35px\]]
273+
expected: FAIL

tests/wpt/metadata/css/css-transitions/animations/vertical-align-interpolation.html.ini

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,3 +223,120 @@
223223

224224
[CSS Transitions: property <vertical-align> from [super\] to [40%\] at (0.3) should be [super\]]
225225
expected: FAIL
226+
227+
[CSS Transitions: property <vertical-align> from neutral to [40px\] at (1.5) should be [55px\]]
228+
expected: FAIL
229+
230+
[CSS Transitions with transition: all: property <vertical-align> from neutral to [40px\] at (-0.5) should be [-5px\]]
231+
expected: FAIL
232+
233+
[CSS Transitions with transition: all: property <vertical-align> from neutral to [40px\] at (0.3) should be [19px\]]
234+
expected: FAIL
235+
236+
[CSS Transitions with transition: all: property <vertical-align> from neutral to [40px\] at (0.6) should be [28px\]]
237+
expected: FAIL
238+
239+
[CSS Transitions with transition: all: property <vertical-align> from neutral to [40px\] at (1.5) should be [55px\]]
240+
expected: FAIL
241+
242+
[CSS Animations: property <vertical-align> from neutral to [40px\] at (-0.5) should be [-5px\]]
243+
expected: FAIL
244+
245+
[CSS Animations: property <vertical-align> from neutral to [40px\] at (0.3) should be [19px\]]
246+
expected: FAIL
247+
248+
[CSS Animations: property <vertical-align> from neutral to [40px\] at (0.6) should be [28px\]]
249+
expected: FAIL
250+
251+
[CSS Animations: property <vertical-align> from neutral to [40px\] at (1.5) should be [55px\]]
252+
expected: FAIL
253+
254+
[CSS Transitions: property <vertical-align> from [inherit\] to [40px\] at (0.3) should be [82px\]]
255+
expected: FAIL
256+
257+
[CSS Transitions: property <vertical-align> from [inherit\] to [40px\] at (0.6) should be [64px\]]
258+
expected: FAIL
259+
260+
[CSS Transitions: property <vertical-align> from [inherit\] to [40px\] at (1.5) should be [10px\]]
261+
expected: FAIL
262+
263+
[CSS Transitions with transition: all: property <vertical-align> from [inherit\] to [40px\] at (-0.5) should be [130px\]]
264+
expected: FAIL
265+
266+
[CSS Transitions with transition: all: property <vertical-align> from [inherit\] to [40px\] at (0.3) should be [82px\]]
267+
expected: FAIL
268+
269+
[CSS Transitions with transition: all: property <vertical-align> from [inherit\] to [40px\] at (0.6) should be [64px\]]
270+
expected: FAIL
271+
272+
[CSS Transitions with transition: all: property <vertical-align> from [inherit\] to [40px\] at (1.5) should be [10px\]]
273+
expected: FAIL
274+
275+
[CSS Animations: property <vertical-align> from [inherit\] to [40px\] at (-0.5) should be [130px\]]
276+
expected: FAIL
277+
278+
[CSS Animations: property <vertical-align> from [inherit\] to [40px\] at (0.3) should be [82px\]]
279+
expected: FAIL
280+
281+
[CSS Animations: property <vertical-align> from [inherit\] to [40px\] at (0.6) should be [64px\]]
282+
expected: FAIL
283+
284+
[CSS Animations: property <vertical-align> from [inherit\] to [40px\] at (1.5) should be [10px\]]
285+
expected: FAIL
286+
287+
[CSS Transitions: property <vertical-align> from [0px\] to [100px\] at (-0.5) should be [-50px\]]
288+
expected: FAIL
289+
290+
[CSS Transitions: property <vertical-align> from [0px\] to [100px\] at (0.3) should be [30px\]]
291+
expected: FAIL
292+
293+
[CSS Transitions: property <vertical-align> from [0px\] to [100px\] at (0.6) should be [60px\]]
294+
expected: FAIL
295+
296+
[CSS Transitions: property <vertical-align> from [0px\] to [100px\] at (1.5) should be [150px\]]
297+
expected: FAIL
298+
299+
[CSS Transitions with transition: all: property <vertical-align> from [0px\] to [100px\] at (-0.5) should be [-50px\]]
300+
expected: FAIL
301+
302+
[CSS Transitions with transition: all: property <vertical-align> from [0px\] to [100px\] at (0.3) should be [30px\]]
303+
expected: FAIL
304+
305+
[CSS Transitions with transition: all: property <vertical-align> from [0px\] to [100px\] at (0.6) should be [60px\]]
306+
expected: FAIL
307+
308+
[CSS Transitions with transition: all: property <vertical-align> from [0px\] to [100px\] at (1.5) should be [150px\]]
309+
expected: FAIL
310+
311+
[CSS Animations: property <vertical-align> from [0px\] to [100px\] at (-0.5) should be [-50px\]]
312+
expected: FAIL
313+
314+
[CSS Animations: property <vertical-align> from [0px\] to [100px\] at (0.3) should be [30px\]]
315+
expected: FAIL
316+
317+
[CSS Animations: property <vertical-align> from [0px\] to [100px\] at (0.6) should be [60px\]]
318+
expected: FAIL
319+
320+
[CSS Animations: property <vertical-align> from [0px\] to [100px\] at (1.5) should be [150px\]]
321+
expected: FAIL
322+
323+
[CSS Transitions: property <vertical-align> from [40px\] to [40%\] at (1.5) should be [calc(-20px + 60%)\]]
324+
expected: FAIL
325+
326+
[CSS Transitions with transition: all: property <vertical-align> from [40px\] to [40%\] at (-0.5) should be [calc(60px - 20%)\]]
327+
expected: FAIL
328+
329+
[CSS Transitions with transition: all: property <vertical-align> from [40px\] to [40%\] at (0.3) should be [calc(28px + 12%)\]]
330+
expected: FAIL
331+
332+
[CSS Transitions with transition: all: property <vertical-align> from [40px\] to [40%\] at (1.5) should be [calc(-20px + 60%)\]]
333+
expected: FAIL
334+
335+
[CSS Animations: property <vertical-align> from [40px\] to [40%\] at (-0.5) should be [calc(60px - 20%)\]]
336+
expected: FAIL
337+
338+
[CSS Animations: property <vertical-align> from [40px\] to [40%\] at (0.3) should be [calc(28px + 12%)\]]
339+
expected: FAIL
340+
341+
[CSS Animations: property <vertical-align> from [40px\] to [40%\] at (1.5) should be [calc(-20px + 60%)\]]
342+
expected: FAIL

tests/wpt/metadata/css/css-transitions/properties-value-003.html.ini

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -491,3 +491,24 @@
491491

492492
[object-view-box object-view-box(xywh) / events]
493493
expected: FAIL
494+
495+
[border-top-left-radius border-radius(px) / values]
496+
expected: FAIL
497+
498+
[border-top-left-radius border-radius(px-px) / values]
499+
expected: FAIL
500+
501+
[border-top-right-radius border-radius(px) / values]
502+
expected: FAIL
503+
504+
[border-top-right-radius border-radius(px-px) / values]
505+
expected: FAIL
506+
507+
[border-bottom-left-radius border-radius(px) / values]
508+
expected: FAIL
509+
510+
[border-bottom-left-radius border-radius(px-px) / values]
511+
expected: FAIL
512+
513+
[border-bottom-right-radius border-radius(px) / values]
514+
expected: FAIL

tests/wpt/metadata/css/css-transitions/properties-value-inherit-001.html.ini

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -869,3 +869,48 @@
869869

870870
[z-index integer(integer) / events]
871871
expected: [FAIL, PASS]
872+
873+
[background-color color(rgba) / values]
874+
expected: FAIL
875+
876+
[border-top-width length(pt) / values]
877+
expected: FAIL
878+
879+
[border-top-width length(pc) / values]
880+
expected: FAIL
881+
882+
[border-top-width length(px) / values]
883+
expected: FAIL
884+
885+
[border-top-width length(em) / values]
886+
expected: FAIL
887+
888+
[border-top-width length(ex) / values]
889+
expected: FAIL
890+
891+
[border-top-width length(mm) / values]
892+
expected: FAIL
893+
894+
[border-top-width length(cm) / values]
895+
expected: FAIL
896+
897+
[border-top-width length(in) / values]
898+
expected: FAIL
899+
900+
[border-right-width length(pt) / values]
901+
expected: FAIL
902+
903+
[border-right-width length(pc) / values]
904+
expected: FAIL
905+
906+
[border-right-width length(px) / values]
907+
expected: FAIL
908+
909+
[border-right-width length(em) / values]
910+
expected: FAIL
911+
912+
[border-right-width length(ex) / values]
913+
expected: FAIL
914+
915+
[border-right-width length(mm) / values]
916+
expected: FAIL

0 commit comments

Comments
 (0)