Closed Bug 1593171 Opened 5 years ago Closed 5 years ago

don't allow more than one RecordResult per test

Categories

(Testing :: Reftest, task)

Version 3
task
Not set
normal

Tracking

(firefox72 fixed)

RESOLVED FIXED
mozilla72
Tracking Status
firefox72 --- fixed

People

(Reporter: tnikkel, Assigned: tnikkel)

References

Details

Attachments

(1 file)

The changes of bug 1593170 mean that tests get to run more and this can happen when tests reload themselves, triggering two parallel copies of the reftest harness test logic to run.

Some crashtests call window.location.reload one or more times. Each time the test document loads we call OnDocumentLoad, and each call of that function can lead to a RecordResult call, either directly or indirectly through WaitForTestEnd and its MakeProgress state machine.

Although the error when this happens ("program error managing timeouts") is confusing I found a couple intermittent instances of this happening in our bugzilla.

However with the fission changes to the reftest harness (which in general make things more async) this is much more common because we keep the tests alive longer before tearing down the test page, giving it more of a chance to happen.

To fix it we pass around the top level test url so it can make its way to RecordResult. This means we can ignore RecordResult calls for previous tests, and ignore the second or more RecordResult call for the current test. We reset the count when we start a new test.

Pushed by tnikkel@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2786362c4a78
Protect against the same test from calling RecordResult more than once in the reftest harness. r=mattwoodrow
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla72
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: