зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1675375 Part 6: Break test_group_hittest.html into parts. r=botond
This test fails in automation, but those failures are difficult to reproduce in local builds. When attempting to reproduce locally, the whole test sometimes times out. Isolating specific subtests seems to affect the test outcomes as well. Splitting the test into pieces seems to be the best way to make failures in this test more actionable. Differential Revision: https://phabricator.services.mozilla.com/D111167
This commit is contained in:
Родитель
1c0f783fc7
Коммит
42ff614cbd
|
@ -21,7 +21,7 @@
|
|||
<body>
|
||||
<script type="application/javascript">
|
||||
|
||||
var SPAM_LIMIT = 1000; // bigger numbers make the test run longer
|
||||
var SPAM_LIMIT = 200; // bigger numbers make the test run longer
|
||||
|
||||
// This function adds and removes a scrollable div very rapidly (via
|
||||
// setTimeout(0) self-scheduling). This causes very frequent layer
|
||||
|
|
|
@ -86,7 +86,7 @@
|
|||
toolkit == 'cocoa' # synthesized wheel smooth-scrolling not supported on OS X
|
||||
xorigin # JavaScript error: http://mochi.test:8888/tests/gfx/layers/apz/test/mochitest/apz_test_native_event_utils.js, line 10: Error: Permission denied to access property "getResolution"
|
||||
[test_wheel_scroll.html]
|
||||
skip-if =
|
||||
skip-if =
|
||||
os == 'android' # wheel events not supported on mobile
|
||||
xorigin # Hangs
|
||||
[test_wheel_transactions.html]
|
||||
|
@ -97,7 +97,11 @@
|
|||
skip-if =
|
||||
toolkit == 'android' # wheel events not supported on mobile
|
||||
xorigin # Hangs
|
||||
[test_group_hittest.html]
|
||||
[test_group_hittest-1.html]
|
||||
skip-if =
|
||||
toolkit == 'android' # mouse events not supported on mobile
|
||||
xorigin # Hangs
|
||||
[test_group_hittest-2.html]
|
||||
skip-if =
|
||||
toolkit == 'android' # mouse events not supported on mobile
|
||||
xorigin # Hangs
|
||||
|
|
|
@ -0,0 +1,59 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Various hit-testing tests that spawn in new windows - Part 1</title>
|
||||
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<script type="application/javascript" src="apz_test_utils.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
||||
<script type="application/javascript">
|
||||
|
||||
var prefs = [
|
||||
// Turn off displayport expiry so that we don't miss failures where the
|
||||
// displayport is set and then expires before we get around to doing the
|
||||
// hit-test inside the activated scrollframe.
|
||||
["apz.displayport_expiry_ms", 0],
|
||||
// Always layerize the scrollbar track, so as to get consistent results
|
||||
// across platforms. Eventually we should probably get rid of this and make
|
||||
// the tests more robust in terms of testing all the different cross-platform
|
||||
// variations.
|
||||
["layout.scrollbars.always-layerize-track", true],
|
||||
// We need this pref to allow the synthetic mouse events to propagate to APZ,
|
||||
// and to allow the MozMouseHittest event in particular to be dispatched to
|
||||
// APZ as a MouseInput so the hit result is recorded.
|
||||
["test.events.async.enabled", true],
|
||||
// Turns on APZTestData logging which we use to obtain the hit test results.
|
||||
["apz.test.logging_enabled", true],
|
||||
];
|
||||
|
||||
var overscroll_prefs = [...prefs,
|
||||
["apz.overscroll.enabled", true],
|
||||
["apz.overscroll.test_async_scroll_offset.enabled", true],
|
||||
];
|
||||
|
||||
var subtests = [
|
||||
{"file": "helper_hittest_basic.html", "prefs": prefs},
|
||||
{"file": "helper_hittest_fixed_in_scrolled_transform.html", "prefs": prefs},
|
||||
{"file": "helper_hittest_float_bug1434846.html", "prefs": prefs},
|
||||
{"file": "helper_hittest_float_bug1443518.html", "prefs": prefs},
|
||||
{"file": "helper_hittest_checkerboard.html", "prefs": prefs},
|
||||
{"file": "helper_hittest_backface_hidden.html", "prefs": prefs},
|
||||
{"file": "helper_hittest_touchaction.html", "prefs": prefs},
|
||||
{"file": "helper_hittest_nested_transforms_bug1459696.html", "prefs": prefs},
|
||||
{"file": "helper_hittest_sticky_bug1478304.html", "prefs": prefs},
|
||||
{"file": "helper_hittest_clipped_fixed_modal.html", "prefs": prefs},
|
||||
];
|
||||
|
||||
if (isApzEnabled()) {
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
window.onload = function() {
|
||||
runSubtestsSeriallyInFreshWindows(subtests)
|
||||
.then(SimpleTest.finish, SimpleTest.finishWithFailure);
|
||||
};
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
</body>
|
||||
</html>
|
|
@ -2,7 +2,7 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Various hit-testing tests that spawn in new windows</title>
|
||||
<title>Various hit-testing tests that spawn in new windows - Part 2</title>
|
||||
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<script type="application/javascript" src="apz_test_utils.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
||||
|
@ -32,23 +32,14 @@ var overscroll_prefs = [...prefs,
|
|||
];
|
||||
|
||||
var subtests = [
|
||||
{"file": "helper_hittest_basic.html", "prefs": prefs},
|
||||
{"file": "helper_hittest_fixed_in_scrolled_transform.html", "prefs": prefs},
|
||||
{"file": "helper_hittest_float_bug1434846.html", "prefs": prefs},
|
||||
{"file": "helper_hittest_float_bug1443518.html", "prefs": prefs},
|
||||
{"file": "helper_hittest_checkerboard.html", "prefs": prefs},
|
||||
{"file": "helper_hittest_backface_hidden.html", "prefs": prefs},
|
||||
{"file": "helper_hittest_touchaction.html", "prefs": prefs},
|
||||
{"file": "helper_hittest_nested_transforms_bug1459696.html", "prefs": prefs},
|
||||
{"file": "helper_hittest_sticky_bug1478304.html", "prefs": prefs},
|
||||
{"file": "helper_hittest_clipped_fixed_modal.html", "prefs": prefs},
|
||||
{"file": "helper_hittest_pointerevents_svg.html", "prefs": prefs},
|
||||
{"file": "helper_hittest_clippath.html", "prefs": prefs},
|
||||
{"file": "helper_hittest_hoisted_scrollinfo.html", "prefs": prefs},
|
||||
{"file": "helper_hittest_spam.html", "prefs": prefs},
|
||||
{"file": "helper_hittest_hidden_inactive_scrollframe.html", "prefs": prefs},
|
||||
{"file": "helper_hittest_overscroll.html", "prefs": overscroll_prefs},
|
||||
{"file": "helper_hittest_overscroll_subframe.html", "prefs": overscroll_prefs},
|
||||
// This test should be at the end, because it's prone to timeout.
|
||||
{"file": "helper_hittest_spam.html", "prefs": prefs},
|
||||
];
|
||||
|
||||
function addConditionalTests(tests) {
|
||||
|
@ -58,9 +49,11 @@ function addConditionalTests(tests) {
|
|||
var utils = SpecialPowers.getDOMWindowUtils(window);
|
||||
var isWebRender = utils.layerManagerType.startsWith("WebRender");
|
||||
if (isWebRender) {
|
||||
tests = tests.concat([
|
||||
// Add new tests at the beginning, to ensure the final test remains in
|
||||
// the final position.
|
||||
tests = [
|
||||
{"file": "helper_hittest_deep_scene_stack.html", "prefs": prefs},
|
||||
]);
|
||||
].concat(tests);
|
||||
}
|
||||
return tests;
|
||||
}
|
Загрузка…
Ссылка в новой задаче