Bug 1244596 - Re-order awaits on browser loads in browser_revive_crashed_bg_tabs.js to avoid intermittent failure. r?mikedeboer draft
authorMike Conley <mconley@mozilla.com>
Tue, 03 Oct 2017 15:23:47 -0400
changeset 674450 dfcbfee8d31bb59550afa771a31a324613f5da21
parent 674178 11fe0a2895aab26c57bcfe61b3041d7837e954cd
child 734335 a4978b8a6350a89fbfc62d2e9327e268b76e5af4
push id82841
push usermconley@mozilla.com
push dateTue, 03 Oct 2017 19:27:12 +0000
reviewersmikedeboer
bugs1244596
milestone58.0a1
Bug 1244596 - Re-order awaits on browser loads in browser_revive_crashed_bg_tabs.js to avoid intermittent failure. r?mikedeboer In this test, it was possible for browser2 to finish loading _before_ the BrowserTestUtils.browserLoaded function we were awaiting on for browser1 had yielded back to the test, meaning that by the time we got to run BrowserTestUtils.browserLoaded(browser2), the browser was already done loading, and browserLoaded would be waiting for a page load that would never occur. MozReview-Commit-ID: EagrRrAAdJP
browser/components/sessionstore/test/browser_revive_crashed_bg_tabs.js
--- a/browser/components/sessionstore/test/browser_revive_crashed_bg_tabs.js
+++ b/browser/components/sessionstore/test/browser_revive_crashed_bg_tabs.js
@@ -16,22 +16,22 @@ add_task(async function setup() {
   await pushPrefs(["dom.ipc.processCount", 1],
                   ["toolkit.cosmeticAnimations.enabled", false],
                   ["browser.sessionstore.restore_on_demand", false]);
 });
 
 add_task(async function test_revive_bg_tabs_on_demand() {
   let newTab1 = BrowserTestUtils.addTab(gBrowser, PAGE_1);
   let browser1 = newTab1.linkedBrowser;
+  await BrowserTestUtils.browserLoaded(browser1);
+
   gBrowser.selectedTab = newTab1;
 
   let newTab2 = BrowserTestUtils.addTab(gBrowser, PAGE_2);
   let browser2 = newTab2.linkedBrowser;
-
-  await BrowserTestUtils.browserLoaded(browser1);
   await BrowserTestUtils.browserLoaded(browser2);
 
   await TabStateFlusher.flush(browser2);
 
   // Now crash the selected tab
   let windowReady = BrowserTestUtils.waitForEvent(window, "SSWindowStateReady");
   await BrowserTestUtils.crashBrowser(browser1);