From eb225d3d97f31088fb1646bf8555ec19377799f8 Mon Sep 17 00:00:00 2001 From: Raphael Pierzina Date: Fri, 5 Oct 2018 19:16:47 +0000 Subject: [PATCH] Bug 1488468 - Remove wait.until calls and improve formatting in test_main_tab_scalar; r=davehunt Depends on D7904 Differential Revision: https://phabricator.services.mozilla.com/D7905 --HG-- extra : moz-landing-system : lando --- .../tests/client/test_main_tab_scalars.py | 42 ++++++++++++------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/toolkit/components/telemetry/tests/marionette/tests/client/test_main_tab_scalars.py b/toolkit/components/telemetry/tests/marionette/tests/client/test_main_tab_scalars.py index d93d253395ef..363879729bad 100644 --- a/toolkit/components/telemetry/tests/marionette/tests/client/test_main_tab_scalars.py +++ b/toolkit/components/telemetry/tests/marionette/tests/client/test_main_tab_scalars.py @@ -2,34 +2,46 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -from marionette_driver.wait import Wait - from telemetry_harness.testcase import TelemetryTestCase +def check_is_shutdown_ping(ping): + """Check for a shutdown ping.""" + + if ping["type"] != "main": + return False + + if ping["payload"]["info"]["reason"] != "shutdown": + return False + + return True + + class TestMainTabScalars(TelemetryTestCase): + """Tests for Telemetry Scalars.""" def test_main_tab_scalars(self): - wait = Wait(self.marionette, 10) + """Test for Telemetry Scalars.""" with self.marionette.using_context(self.marionette.CONTEXT_CHROME): tab1 = self.browser.tabbar.selected_tab + tab2 = self.browser.tabbar.open_tab() - wait.until(lambda m: len(self.browser.tabbar.tabs) == 2) self.browser.tabbar.switch_to(tab2) + tab3 = self.browser.tabbar.open_tab() - wait.until(lambda m: len(self.browser.tabbar.tabs) == 3) self.browser.tabbar.switch_to(tab3) + self.browser.tabbar.close_tab(tab3, force=True) - wait.until(lambda m: len(self.browser.tabbar.tabs) == 2) self.browser.tabbar.close_tab(tab2, force=True) - wait.until(lambda m: len(self.browser.tabbar.tabs) == 1) + self.browser.tabbar.switch_to(tab1) - ping = self.wait_for_ping(self.restart_browser, lambda p: p['type'] == 'main' - and p['payload']['info']['reason'] == 'shutdown') - assert ping['type'] == 'main' - assert ping['clientId'] == self.client_id - scalars = ping['payload']['processes']['parent']['scalars'] - assert scalars['browser.engagement.max_concurrent_tab_count'] == 3 - assert scalars['browser.engagement.tab_open_event_count'] == 2 - assert scalars['browser.engagement.max_concurrent_window_count'] == 1 + + ping = self.wait_for_ping(self.restart_browser, check_is_shutdown_ping) + assert ping["type"] == "main" + assert ping["clientId"] == self.client_id + + scalars = ping["payload"]["processes"]["parent"]["scalars"] + assert scalars["browser.engagement.max_concurrent_tab_count"] == 3 + assert scalars["browser.engagement.tab_open_event_count"] == 2 + assert scalars["browser.engagement.max_concurrent_window_count"] == 1