Closed Bug 1015952 Opened 10 years ago Closed 5 years ago

Social tests don't wait for the popup to close

Categories

(Firefox Graveyard :: SocialAPI, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: enndeakin, Unassigned)

Details

A number of the tests in browser/base/content/test/social/ have a pattern like the following:

function doSomething()
  PopupNotifications.panel.addEventListener("popupshown", function onpopupshown() {
    PopupNotifications.panel.removeEventListener("popupshown", onpopupshown);
    buttonInPanel.click();
  }

  doSomethingElse();
}

The doSomethingElse ends up closing the popup without waiting for the popup to be shown. This means that a popupshown listener is added but never fires, leaving a dangling popupshown listener. When that popup is later opened again, multiple popupshown listeners fire causing test failures.

With bug 994117 the popupshown event fires after a delay, compounding the problem. There's a number of intermittent oranges filed for these tests. It's possible some are caused by this issue, but I don't understand the tests well enough to be sure.
That will most likely be waiting for the activation panel to appear.  Clicking the button then continues the install of a social provider.  There should be no reason that this happening a little later would affect the tests.  Can you point to a try run?
Right here:  https://tbpl.mozilla.org/?tree=Try&rev=944b48531904

Note that my analysis above may not be correct. In one test, browser_social_activation.js, disabling the button clicking causes the test to pass as shown at https://tbpl.mozilla.org/?tree=Try&rev=d0135d620626
ISTM that you could just wrap the button clicking in executeSoon so it doesn't cause the closing of the panel during showing the panel.
SocialAPI was removed from Firefox 57 and is no longer available in any current release.
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → WONTFIX
Product: Firefox → Firefox Graveyard
You need to log in before you can comment on or make changes to this bug.