Bug 1734020 - extend timeout for test-verify chaosmode mode. r=gbrown,jgraham

Differential Revision: https://phabricator.services.mozilla.com/D158033
This commit is contained in:
Joel Maher 2022-10-13 13:45:58 +00:00
Родитель 160a1a400d
Коммит 7a3142f557
4 изменённых файлов: 31 добавлений и 10 удалений

Просмотреть файл

@ -3429,6 +3429,9 @@ toolbar#nav-bar {
# See bug 479518 and bug 1414063.
timeout = 370.0
if "MOZ_CHAOSMODE=0xfb" in options.environment and timeout:
timeout *= 2
# Detect shutdown leaks for m-bc runs if
# code coverage is not enabled.
detectShutdownLeaks = False

Просмотреть файл

@ -1307,6 +1307,9 @@ SimpleTest.testInChaosMode = function() {
}
SpecialPowers.DOMWindowUtils.enterChaosMode();
SimpleTest._inChaosMode = true;
// increase timeout here as chaosmode is very slow (i.e. 10x)
// doing 20x as this overwrites anything the tests set
SimpleTest.requestLongerTimeout(20);
};
SimpleTest.timeout = async function() {

Просмотреть файл

@ -58,24 +58,36 @@ __wptrunner__ = {"product": "firefox",
def get_timeout_multiplier(test_type, run_info_data, **kwargs):
if kwargs["timeout_multiplier"] is not None:
return kwargs["timeout_multiplier"]
multiplier = 1
if run_info_data["verify"]:
if kwargs.get("chaos_mode_flags", None) is not None:
multiplier = 2
if test_type == "reftest":
if run_info_data["debug"] or run_info_data.get("asan") or run_info_data.get("tsan"):
return 4
if (
run_info_data["debug"]
or run_info_data.get("asan")
or run_info_data.get("tsan")
):
return 4 * multiplier
else:
return 2
elif run_info_data["debug"] or run_info_data.get("asan") or run_info_data.get("tsan"):
return 2 * multiplier
elif (
run_info_data["debug"] or run_info_data.get("asan") or run_info_data.get("tsan")
):
if run_info_data.get("ccov"):
return 4
return 4 * multiplier
else:
return 3
return 3 * multiplier
elif run_info_data["os"] == "android":
return 4
return 4 * multiplier
# https://bugzilla.mozilla.org/show_bug.cgi?id=1538725
elif run_info_data["os"] == "win" and run_info_data["processor"] == "aarch64":
return 4
return 4 * multiplier
elif run_info_data.get("ccov"):
return 2
return 1
return 2 * multiplier
return 1 * multiplier
def check_args(**kwargs):

Просмотреть файл

@ -1980,6 +1980,8 @@ class XPCShellTests(object):
# Run tests sequentially, with MOZ_CHAOSMODE enabled.
sequential_tests = []
self.env["MOZ_CHAOSMODE"] = "0xfb"
# chaosmode runs really slow, allow tests extra time to pass
self.harness_timeout = self.harness_timeout * 2
for i in range(VERIFY_REPEAT):
self.testCount += 1
test = testClass(
@ -1989,6 +1991,7 @@ class XPCShellTests(object):
status = self.runTestList(
tests_queue, sequential_tests, testClass, mobileArgs, **kwargs
)
self.harness_timeout = self.harness_timeout / 2
return status
steps = [