Closed Bug 1391694 Opened 7 years ago Closed 7 years ago

test-verify frequently fails on browser-chrome, debug: leaked (n) windows until shutdown

Categories

(Testing :: General, defect)

defect
Not set
normal

Tracking

(firefox57 fixed)

RESOLVED FIXED
mozilla57
Tracking Status
firefox57 --- fixed

People

(Reporter: gbrown, Assigned: gbrown)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

:ted's on to something here:

<ted> https://dxr.mozilla.org/mozilla-central/source/testing/mochitest/browser-test.js#208
<ted> j'accuse!
<ted> so the browser-chrome harness considers itself done if the current test is the last test
<ted> ...and when it goes to run the next test it calls this code: https://dxr.mozilla.org/mozilla-central/source/testing/mochitest/browser-test.js#603
<ted> and in *that* block is where we trigger the GC stuff: https://dxr.mozilla.org/mozilla-central/source/testing/mochitest/browser-test.js#637
<ted> so i suspect that whole block gets called too early in the --repeat case
<ted> and things break
See Also: → 1347654
See Also: 1347654
:ted - Thanks much for pointing this out to me; it was a great help.

The issue here is that the block of cleanup code at https://dxr.mozilla.org/mozilla-central/rev/37b95547f0d27565452136d16b2df2857be840f6/testing/mochitest/browser-test.js#610 should only be run just before the browser is closed, but done() doesn't take --repeat into account, so that block runs after every test when --repeat is specified.

This patch updates done() to report false until all test repetitions are complete and re-organizes the repeat handling a little so that neither the cleanup code nor finish() is called until all test repetitions are complete.


This change does not break existing browser-chrome tests:

https://treeherder.mozilla.org/#/jobs?repo=try&revision=9fd783c676a33071dc328e1695d217a4c0445649

and fixes my concern with --verify (which uses --repeat):

https://treeherder.mozilla.org/#/jobs?repo=try&revision=7a71eb28398b74ee5ff78f75de1c2dd558c752bc&filter-tier=1&filter-tier=2&filter-tier=3

I also tested locally with:

mach mochitest <single-test>
mach mochitest <directory>
mach mochitest <single-test> --repeat=10
mach mochitest <directory> --repeat=10
Attachment #8906156 - Flags: review?(ted)
Comment on attachment 8906156 [details] [diff] [review]
avoid extra cleanup and leak checks in browser-chrome tests run with --repeat

Review of attachment 8906156 [details] [diff] [review]:
-----------------------------------------------------------------

thanks for this fix Geoff
Attachment #8906156 - Flags: review?(ted) → review+
Pushed by gbrown@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/670be1db5eed
Avoid false shutdown leaks in browser-chrome tests with --repeat; r=jmaher
https://hg.mozilla.org/mozilla-central/rev/670be1db5eed
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: