Backed out 4 changesets (bug 1141519) for likely breaking Windows marionette tests
authorWes Kocher <wkocher@mozilla.com>
Fri, 18 Sep 2015 12:08:58 -0700
changeset 297629 8f15c6137e4f864e94ce04892a4c679255deb0ae
parent 297628 928096350c7c37fe39d89aa90e193d5d69fe33d0
child 297630 d501062f060d8c4e7e2eafaa18536e3833b19d39
push id962
push userjlund@mozilla.com
push dateFri, 04 Dec 2015 23:28:54 +0000
treeherdermozilla-release@23a2d286e80f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1141519
milestone43.0a1
backs out4f0cd3e94c0a34500c60951e3e80bcd312167fe5
2c319ee6609b45f254194005991218a8e6f1b1ce
2101909374c09e8b06af50cedfc59ccccf078d0e
5e3cbd7c84fa4eae1343c46e44e8f7649cb55440
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out 4 changesets (bug 1141519) for likely breaking Windows marionette tests Backed out changeset 4f0cd3e94c0a (bug 1141519) Backed out changeset 2c319ee6609b (bug 1141519) Backed out changeset 2101909374c0 (bug 1141519) Backed out changeset 5e3cbd7c84fa (bug 1141519)
testing/marionette/client/marionette/marionette_test.py
testing/marionette/client/marionette/tests/unit/test_chrome.py
testing/marionette/client/marionette/tests/unit/unit-tests.ini
testing/marionette/driver.js
--- a/testing/marionette/client/marionette/marionette_test.py
+++ b/testing/marionette/client/marionette/marionette_test.py
@@ -686,27 +686,21 @@ class MarionetteTestCase(CommonTestCase)
     def setUp(self):
         CommonTestCase.setUp(self)
         self.marionette.test_name = self.test_name
         self.marionette.execute_script("log('TEST-START: %s:%s')" %
                                        (self.filepath.replace('\\', '\\\\'), self.methodName))
 
     def tearDown(self):
         if not self.marionette.check_for_crash():
-            try:
-                self.marionette.clear_imported_scripts()
-                self.marionette.execute_script("log('TEST-END: %s:%s')" %
-                                               (self.filepath.replace('\\', '\\\\'),
-                                                self.methodName))
-                self.marionette.test_name = None
-            except:
-                # We have tried to log the test end when there is no listener
-                # object that we can access
-                pass
-
+           self.marionette.set_context("content")
+           self.marionette.clear_imported_scripts()
+           self.marionette.execute_script("log('TEST-END: %s:%s')" %
+                                          (self.filepath.replace('\\', '\\\\'), self.methodName))
+        self.marionette.test_name = None
         CommonTestCase.tearDown(self)
 
     def get_new_emulator(self):
         self.extra_emulator_index += 1
         if len(self.marionette.extra_emulators) == self.extra_emulator_index:
             qemu  = Marionette(emulator=self.marionette.emulator.arch,
                                emulatorBinary=self.marionette.emulator.binary,
                                homedir=self.marionette.homedir,
deleted file mode 100644
--- a/testing/marionette/client/marionette/tests/unit/test_chrome.py
+++ /dev/null
@@ -1,31 +0,0 @@
-#Copyright 2007-2009 WebDriver committers
-#Copyright 2007-2009 Google Inc.
-#
-#Licensed under the Apache License, Version 2.0 (the "License");
-#you may not use this file except in compliance with the License.
-#You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-#Unless required by applicable law or agreed to in writing, software
-#distributed under the License is distributed on an "AS IS" BASIS,
-#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#See the License for the specific language governing permissions and
-#limitations under the License.
-
-from marionette_driver import By
-from marionette_driver.errors import NoSuchElementException
-from marionette import MarionetteTestCase
-
-
-class ChromeTests(MarionetteTestCase):
-
-    def test_hang_until_timeout(self):
-        with self.marionette.using_context('chrome'):
-            current_handle = self.marionette.current_chrome_window_handle
-            menu = self.marionette.find_element(By.ID, 'aboutName')
-            menu.click()
-            handles = self.marionette.chrome_window_handles
-            handles.remove(current_handle)
-            self.marionette.switch_to_window(handles[0])
-            self.assertRaises(NoSuchElementException, self.marionette.find_element, By.ID, 'dek')
--- a/testing/marionette/client/marionette/tests/unit/unit-tests.ini
+++ b/testing/marionette/client/marionette/tests/unit/unit-tests.ini
@@ -154,11 +154,8 @@ b2g = false
 [test_file_upload.py]
 b2g = false
 skip-if = os == "win" # http://bugs.python.org/issue14574
 
 [test_execute_sandboxes.py]
 [test_using_permissions.py]
 
 [test_shadow_dom.py]
-
-[test_chrome.py]
-b2g = false
--- a/testing/marionette/driver.js
+++ b/testing/marionette/driver.js
@@ -216,22 +216,17 @@ GeckoDriver.prototype.sendAsync = functi
   name = "Marionette:" + name;
 
   if (cmdId) {
     msg.command_id = cmdId;
   }
 
   if (curRemoteFrame === null) {
     this.curBrowser.executeWhenReady(() => {
-      if (this.curBrowser.curFrameId) {
-          this.mm.broadcastAsyncMessage(name + this.curBrowser.curFrameId, msg);
-      }
-      else {
-          throw new WebDriverError("Can not send call to listener as it doesnt exist");
-      }
+      this.mm.broadcastAsyncMessage(name + this.curBrowser.curFrameId, msg);
     });
   } else {
     let remoteFrameId = curRemoteFrame.targetFrameId;
     try {
       this.mm.sendAsyncMessage(name + remoteFrameId, msg);
     } catch (e) {
       switch(e.result) {
         case Components.results.NS_ERROR_FAILURE: