Bug 1420372 - check that instance pid matches the pid in capabilities.
If the pids do not match Marionette could connect to the wrong instance of Firefox.
MozReview-Commit-ID: Js0chkHplbB
--- a/testing/marionette/client/marionette_driver/marionette.py
+++ b/testing/marionette/client/marionette_driver/marionette.py
@@ -1235,16 +1235,23 @@ class Marionette(object):
if "capabilities" not in body and capabilities is not None:
body["capabilities"] = dict(capabilities)
resp = self._send_message("newSession", body)
self.session_id = resp["sessionId"]
self.session = resp["capabilities"]
# fallback to processId can be removed in Firefox 55
self.process_id = self.session.get("moz:processID", self.session.get("processId"))
+
+ if self.instance.runner.process_handler.pid != self.process_id:
+ raise errors.MarionetteException("Instance PID '{0}' doesn't match "
+ "the PID from capabilities {1}"
+ .format(self.instance.runner.process_handler.pid,
+ self.process_id))
+
self.profile = self.session.get("moz:profile")
return self.session
@property
def test_name(self):
return self._test_name