Bug 1899781 - Use correct timeout in xpcshell TV r=jmaher

harness_timeout should be assigned to kwargs for it to have any effect.

... and fix the exponential backoff waiter, to wait for at most 15
seconds between checks. Otherwise a timed-out test could be kept
running for several minutes longer, which is a waste of time.

Differential Revision: https://phabricator.services.mozilla.com/D212124
This commit is contained in:
Rob Wu 2024-05-30 14:57:15 +00:00
Родитель 6078ed2453
Коммит 5acfcd795d
2 изменённых файлов: 5 добавлений и 2 удалений

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

@ -123,6 +123,9 @@ class RemoteProcessMonitor(object):
time.sleep(interval)
timer += interval
interval *= 1.5
# We're using exponential back-off. To avoid unnecessarily waiting
# for too long, cap the maximum sleep interval to 15 seconds.
interval = min(15, interval)
if timeout and timer > timeout:
status = False
self.log.info(

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

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