Bug 1284874 - Skip irrelevant Marionette tests on Fennec; r?AutomaticTester draft
authorMaja Frydrychowicz <mjzffr@gmail.com>
Thu, 25 Aug 2016 11:11:21 -0400
changeset 405505 81441b18f172945082127e8311027eb53bf02933
parent 405504 2d1595875b134e207801fc628e6ffd0748e529ee
child 405506 d37ac88ceb25fac3b7f646d0e56f803562883d18
push id27507
push usermjzffr@gmail.com
push dateThu, 25 Aug 2016 15:12:45 +0000
reviewersAutomaticTester
bugs1284874
milestone51.0a1
Bug 1284874 - Skip irrelevant Marionette tests on Fennec; r?AutomaticTester MozReview-Commit-ID: K2Wy9ij6dz3
testing/marionette/harness/marionette/runner/base.py
testing/marionette/harness/marionette/tests/unit/test_elementsize.py
testing/marionette/harness/marionette/tests/unit/test_elementsize_chrome.py
testing/marionette/harness/marionette/tests/unit/test_pagesource.py
testing/marionette/harness/marionette/tests/unit/test_pagesource_chrome.py
testing/marionette/harness/marionette/tests/unit/test_window_title.py
testing/marionette/harness/marionette/tests/unit/test_window_title_chrome.py
testing/marionette/harness/marionette/tests/unit/unit-tests.ini
--- a/testing/marionette/harness/marionette/runner/base.py
+++ b/testing/marionette/harness/marionette/runner/base.py
@@ -984,16 +984,17 @@ setReq.onerror = function() {
             manifest = TestManifest()
             manifest.read(filepath)
 
             filters = []
             if self.test_tags:
                 filters.append(tags(self.test_tags))
             json_path = update_mozinfo(filepath)
             self.logger.info("mozinfo updated with the following: {}".format(None))
+            self.logger.info("mozinfo is: {}".format(mozinfo.info))
             manifest_tests = manifest.active_tests(exists=False,
                                                    disabled=True,
                                                    filters=filters,
                                                    app=self.appName,
                                                    e10s=self.e10s,
                                                    **mozinfo.info)
             if len(manifest_tests) == 0:
                 self.logger.error("no tests to run using specified "
--- a/testing/marionette/harness/marionette/tests/unit/test_elementsize.py
+++ b/testing/marionette/harness/marionette/tests/unit/test_elementsize.py
@@ -9,35 +9,8 @@ from marionette_driver.by import By
 class TestElementSize(MarionetteTestCase):
     def testShouldReturnTheSizeOfALink(self):
         test_html = self.marionette.absolute_url("testSize.html")
         self.marionette.navigate(test_html)
         shrinko = self.marionette.find_element(By.ID, 'linkId')
         size = shrinko.rect
         self.assertTrue(size['width'] > 0)
         self.assertTrue(size['height'] > 0)
-
-
-class TestElementSizeChrome(MarionetteTestCase):
-    def setUp(self):
-        MarionetteTestCase.setUp(self)
-        self.marionette.set_context("chrome")
-        self.win = self.marionette.current_window_handle
-        self.marionette.execute_script(
-            "window.open('chrome://marionette/content/test2.xul', 'foo', 'chrome,centerscreen');")
-        self.marionette.switch_to_window('foo')
-        self.assertNotEqual(self.win, self.marionette.current_window_handle)
-
-    def tearDown(self):
-        self.assertNotEqual(self.win, self.marionette.current_window_handle)
-        self.marionette.execute_script("window.close();")
-        self.marionette.switch_to_window(self.win)
-        MarionetteTestCase.tearDown(self)
-
-    def testShouldReturnTheSizeOfAnInput(self):
-        wins = self.marionette.window_handles
-        wins.remove(self.win)
-        newWin = wins.pop()
-        self.marionette.switch_to_window(newWin)
-        shrinko = self.marionette.find_element(By.ID, 'textInput')
-        size = shrinko.rect
-        self.assertTrue(size['width'] > 0)
-        self.assertTrue(size['height'] > 0)
new file mode 100644
--- /dev/null
+++ b/testing/marionette/harness/marionette/tests/unit/test_elementsize_chrome.py
@@ -0,0 +1,33 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# 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 import MarionetteTestCase
+from marionette_driver.by import By
+
+
+class TestElementSizeChrome(MarionetteTestCase):
+    def setUp(self):
+        MarionetteTestCase.setUp(self)
+        self.marionette.set_context("chrome")
+        self.win = self.marionette.current_window_handle
+        self.marionette.execute_script(
+            "window.open('chrome://marionette/content/test2.xul', 'foo', 'chrome,centerscreen');")
+        self.marionette.switch_to_window('foo')
+        self.assertNotEqual(self.win, self.marionette.current_window_handle)
+
+    def tearDown(self):
+        self.assertNotEqual(self.win, self.marionette.current_window_handle)
+        self.marionette.execute_script("window.close();")
+        self.marionette.switch_to_window(self.win)
+        MarionetteTestCase.tearDown(self)
+
+    def testShouldReturnTheSizeOfAnInput(self):
+        wins = self.marionette.window_handles
+        wins.remove(self.win)
+        newWin = wins.pop()
+        self.marionette.switch_to_window(newWin)
+        shrinko = self.marionette.find_element(By.ID, 'textInput')
+        size = shrinko.rect
+        self.assertTrue(size['width'] > 0)
+        self.assertTrue(size['height'] > 0)
--- a/testing/marionette/harness/marionette/tests/unit/test_pagesource.py
+++ b/testing/marionette/harness/marionette/tests/unit/test_pagesource.py
@@ -20,32 +20,8 @@ class TestPageSource(MarionetteTestCase)
         self.marionette.page_source
 
     def testShouldReturnAXMLDocumentSource(self):
         test_xml = self.marionette.absolute_url("testPageSource.xml")
         self.marionette.navigate(test_xml)
         source = self.marionette.page_source
         import re
         self.assertEqual(re.sub("\s", "", source), "<xml><foo><bar>baz</bar></foo></xml>")
-
-
-class TestPageSourceChrome(MarionetteTestCase):
-    def setUp(self):
-        MarionetteTestCase.setUp(self)
-        self.marionette.set_context("chrome")
-        self.win = self.marionette.current_window_handle
-        self.marionette.execute_script("window.open('chrome://marionette/content/test.xul', 'foo', 'chrome,centerscreen');")
-        self.marionette.switch_to_window('foo')
-        self.assertNotEqual(self.win, self.marionette.current_window_handle)
-
-    def tearDown(self):
-        self.assertNotEqual(self.win, self.marionette.current_window_handle)
-        self.marionette.execute_script("window.close();")
-        self.marionette.switch_to_window(self.win)
-        MarionetteTestCase.tearDown(self)
-
-    def testShouldReturnXULDetails(self):
-        wins = self.marionette.window_handles
-        wins.remove(self.win)
-        newWin = wins.pop()
-        self.marionette.switch_to_window(newWin)
-        source  = self.marionette.page_source
-        self.assertTrue('<textbox id="textInput"' in source)
new file mode 100644
--- /dev/null
+++ b/testing/marionette/harness/marionette/tests/unit/test_pagesource_chrome.py
@@ -0,0 +1,29 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# 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 import MarionetteTestCase
+
+
+class TestPageSourceChrome(MarionetteTestCase):
+    def setUp(self):
+        MarionetteTestCase.setUp(self)
+        self.marionette.set_context("chrome")
+        self.win = self.marionette.current_window_handle
+        self.marionette.execute_script("window.open('chrome://marionette/content/test.xul', 'foo', 'chrome,centerscreen');")
+        self.marionette.switch_to_window('foo')
+        self.assertNotEqual(self.win, self.marionette.current_window_handle)
+
+    def tearDown(self):
+        self.assertNotEqual(self.win, self.marionette.current_window_handle)
+        self.marionette.execute_script("window.close();")
+        self.marionette.switch_to_window(self.win)
+        MarionetteTestCase.tearDown(self)
+
+    def testShouldReturnXULDetails(self):
+        wins = self.marionette.window_handles
+        wins.remove(self.win)
+        newWin = wins.pop()
+        self.marionette.switch_to_window(newWin)
+        source  = self.marionette.page_source
+        self.assertTrue('<textbox id="textInput"' in source)
--- a/testing/marionette/harness/marionette/tests/unit/test_window_title.py
+++ b/testing/marionette/harness/marionette/tests/unit/test_window_title.py
@@ -1,31 +1,12 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # 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 import MarionetteTestCase
 
-class TestTitleChrome(MarionetteTestCase):
-    def setUp(self):
-        MarionetteTestCase.setUp(self)
-        self.marionette.set_context("chrome")
-        self.win = self.marionette.current_window_handle
-        self.marionette.execute_script("window.open('chrome://marionette/content/test.xul', 'foo', 'chrome,centerscreen');")
-        self.marionette.switch_to_window('foo')
-        self.assertNotEqual(self.win, self.marionette.current_window_handle)
-
-    def tearDown(self):
-        self.assertNotEqual(self.win, self.marionette.current_window_handle)
-        self.marionette.execute_script("window.close();")
-        self.marionette.switch_to_window(self.win)
-        MarionetteTestCase.tearDown(self)
-
-    def test_get_chrome_title(self):
-        title = self.marionette.execute_script("return window.document.documentElement.getAttribute('title');")
-        self.assertEqual(title, self.marionette.title)
-        self.assertEqual('Title Test', self.marionette.title)
 
 class TestTitle(MarionetteTestCase):
     def test_get_html_title(self):
         test_html = self.marionette.absolute_url("test.html")
         self.marionette.navigate(test_html)
         self.assertEqual('Marionette Test', self.marionette.title)
new file mode 100644
--- /dev/null
+++ b/testing/marionette/harness/marionette/tests/unit/test_window_title_chrome.py
@@ -0,0 +1,26 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# 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 import MarionetteTestCase
+
+
+class TestTitleChrome(MarionetteTestCase):
+    def setUp(self):
+        MarionetteTestCase.setUp(self)
+        self.marionette.set_context("chrome")
+        self.win = self.marionette.current_window_handle
+        self.marionette.execute_script("window.open('chrome://marionette/content/test.xul', 'foo', 'chrome,centerscreen');")
+        self.marionette.switch_to_window('foo')
+        self.assertNotEqual(self.win, self.marionette.current_window_handle)
+
+    def tearDown(self):
+        self.assertNotEqual(self.win, self.marionette.current_window_handle)
+        self.marionette.execute_script("window.close();")
+        self.marionette.switch_to_window(self.win)
+        MarionetteTestCase.tearDown(self)
+
+    def test_get_chrome_title(self):
+        title = self.marionette.execute_script("return window.document.documentElement.getAttribute('title');")
+        self.assertEqual(title, self.marionette.title)
+        self.assertEqual('Title Test', self.marionette.title)
--- a/testing/marionette/harness/marionette/tests/unit/unit-tests.ini
+++ b/testing/marionette/harness/marionette/tests/unit/unit-tests.ini
@@ -7,28 +7,30 @@
 skip-if = buildapp == 'b2g' || (e10s && os == 'win')
 
 [test_expectedfail.py]
 expected = fail
 [test_import_script.py]
 skip-if = buildapp == 'b2g'
 [test_click.py]
 [test_click_chrome.py]
-skip-if = buildapp == 'b2g'
+skip-if = buildapp == 'b2g' || appname == 'fennec'
 [test_checkbox.py]
 [test_checkbox_chrome.py]
-skip-if = buildapp == 'b2g'
+skip-if = buildapp == 'b2g' || appname == 'fennec'
 [test_elementsize.py]
+[test_elementsize_chrome.py]
+skip-if = buildapp == 'b2g' || appname == 'fennec'
 [test_position.py]
 [test_rendered_element.py]
 [test_chrome_element_css.py]
-skip-if = buildapp == 'b2g'
+skip-if = buildapp == 'b2g' || appname == 'fennec'
 [test_element_state.py]
 [test_element_state_chrome.py]
-skip-if = buildapp == 'b2g'
+skip-if = buildapp == 'b2g' || appname == 'fennec'
 [test_text.py]
 [test_text_chrome.py]
 skip-if = true # "Bug 896046"
 
 [test_clearing.py]
 [test_typing.py]
 
 [test_log.py]
@@ -36,101 +38,104 @@ skip-if = true # "Bug 896046"
 [test_about_pages.py]
 skip-if = buildapp == 'b2g' || (e10s && os == 'win')
 
 [test_execute_async_script.py]
 [test_execute_script.py]
 [test_simpletest_fail.js]
 [test_element_retrieval.py]
 [test_findelement_chrome.py]
-skip-if = buildapp == 'b2g'
+skip-if = buildapp == 'b2g' || appname == 'fennec'
 
 [test_navigation.py]
 
 [test_timeouts.py]
 
 [test_element_touch.py]
 skip-if = buildapp != 'b2g'
 
 [test_gesture.py]
 skip-if = true # buildapp != 'b2g' -- Bug 1060060
 
 [test_single_finger.py]
 skip-if = true # buildapp != 'b2g' -- Bug 1060060
 [test_single_finger_desktop.py]
-skip-if = buildapp == 'b2g' || os == "win" # Bug 1025040
+skip-if = buildapp == 'b2g' || appname == 'fennec' || os == "win" # Bug 1025040
 
 [test_multi_finger.py]
 skip-if = true # buildapp != 'b2g' -- Bug 1060060
 
 [test_simpletest_pass.js]
 [test_simpletest_sanity.py]
 [test_simpletest_chrome.js]
 [test_simpletest_timeout.js]
 [test_anonymous_content.py]
-skip-if = buildapp == 'b2g'
+skip-if = buildapp == 'b2g' || appname == 'fennec'
 [test_switch_frame.py]
 skip-if = buildapp == 'b2g' || os == "win" # Bug 1078237
 [test_switch_frame_chrome.py]
-skip-if = buildapp == 'b2g'
+skip-if = buildapp == 'b2g' || appname == 'fennec'
 [test_switch_remote_frame.py]
-skip-if = buildapp == 'b2g'
+skip-if = buildapp == 'b2g' || appname == 'fennec'
 
 [test_pagesource.py]
-skip-if = buildapp == 'b2g'
+[test_pagesource_chrome.py]
+skip-if = buildapp == 'b2g' || appname == 'fennec'
 
 [test_visibility.py]
 [test_window_switching.py]
-skip-if = buildapp == 'b2g'
+skip-if = buildapp == 'b2g' || appname == 'fennec'
 [test_window_management.py]
-skip-if = buildapp == 'b2g'
+skip-if = buildapp == 'b2g' || appname == 'fennec'
 [test_window_position.py]
-skip-if = buildapp == 'b2g'
+skip-if = buildapp == 'b2g' || appname == 'fennec'
 [test_window_handles.py]
-skip-if = buildapp == 'b2g'
+skip-if = buildapp == 'b2g' || appname == 'fennec'
 
 [test_screenshot.py]
 [test_cookies.py]
 skip-if = buildapp == 'b2g'
 [test_window_title.py]
+[test_window_title_chrome.py]
+skip-if = buildapp == 'b2g' || appname == 'fennec'
 [test_window_type.py]
-skip-if = buildapp == 'b2g'
+skip-if = buildapp == 'b2g' || appname == 'fennec'
 [test_implicit_waits.py]
 [test_wait.py]
 [test_expected.py]
 [test_date_time_value.py]
 [test_getactiveframe_oop.py]
 skip-if = true # buildapp == 'b2g' -- Bug 925688
 [test_chrome_async_finish.js]
 [test_screen_orientation.py]
 [test_errors.py]
 
 [test_execute_isolate.py]
 [test_click_scrolling.py]
 [test_profile_management.py]
 skip-if = buildapp == 'b2g'
 [test_set_window_size.py]
-skip-if = buildapp == 'b2g' || os == "linux" # Bug 1085717
+skip-if = buildapp == 'b2g' || os == "linux" || appname == 'fennec' # Bug 1085717
 [test_with_using_context.py]
 
 [test_modal_dialogs.py]
-skip-if = buildapp == 'b2g'
+skip-if = buildapp == 'b2g' || appname == 'fennec'
 [test_key_actions.py]
 [test_mouse_action.py]
-skip-if = buildapp == 'b2g' || (os == "win" && !debug && os_version == "6.1") # Bug 1273758
+skip-if = buildapp == 'b2g' || (os == "win" && !debug && os_version == "6.1")  || appname == 'fennec'# Bug 1273758
 [test_teardown_context_preserved.py]
 skip-if = buildapp == 'b2g'
 [test_file_upload.py]
-skip-if = buildapp == 'b2g' || os == "win" # http://bugs.python.org/issue14574
+skip-if = buildapp == 'b2g' || appname == 'fennec' || os == "win" # http://bugs.python.org/issue14574
 
 [test_execute_sandboxes.py]
 [test_using_permissions.py]
 [test_using_prefs.py]
 
 [test_shadow_dom.py]
 
 [test_chrome.py]
-skip-if = buildapp == 'b2g'
+skip-if = buildapp == 'b2g' || appname == 'fennec'
 
 [test_addons.py]
 
 [test_select.py]