Bug 1429562 - Remove obsolete optional parameter `reset_session_id` from `delete_session`. r=ato

By calling "delete_session" the currently used session id always has to be reset,
because each session has its own unique id.

MozReview-Commit-ID: H9RiuNj7fRd

--HG--
extra : rebase_source : 13ca1cf1c80d74024fce5323f9d91b12fd8b5ad2
This commit is contained in:
Henrik Skupin 2018-01-11 12:24:15 +01:00
Родитель cbc53e63d4
Коммит f3030b9118
3 изменённых файлов: 13 добавлений и 15 удалений

Просмотреть файл

@ -820,7 +820,7 @@ class Marionette(object):
else:
message = 'Process has been unexpectedly closed (Exit code: {returncode})'
self.delete_session(send_request=False, reset_session_id=True)
self.delete_session(send_request=False)
message += ' (Reason: {reason})'
@ -1089,8 +1089,7 @@ class Marionette(object):
else:
cause = self._request_in_app_shutdown()
# Ensure to explicitely mark the session as deleted
self.delete_session(send_request=False, reset_session_id=True)
self.delete_session(send_request=False)
# Give the application some time to shutdown
returncode = self.instance.runner.wait(timeout=self.DEFAULT_SHUTDOWN_TIMEOUT)
@ -1103,7 +1102,7 @@ class Marionette(object):
raise IOError(message.format(self.DEFAULT_SHUTDOWN_TIMEOUT))
else:
self.delete_session(reset_session_id=True)
self.delete_session()
self.instance.close(clean=clean)
if cause not in (None, "shutdown"):
@ -1144,8 +1143,7 @@ class Marionette(object):
else:
cause = self._request_in_app_shutdown("eRestart")
# Ensure to explicitely mark the session as deleted
self.delete_session(send_request=False, reset_session_id=True)
self.delete_session(send_request=False)
try:
timeout = self.DEFAULT_SHUTDOWN_TIMEOUT + self.DEFAULT_STARTUP_TIMEOUT
@ -1255,25 +1253,21 @@ class Marionette(object):
def test_name(self, test_name):
self._test_name = test_name
def delete_session(self, send_request=True, reset_session_id=False):
def delete_session(self, send_request=True):
"""Close the current session and disconnect from the server.
:param send_request: Optional, if `True` a request to close the session on
the server side will be sent. Use `False` in case of eg. in_app restart()
or quit(), which trigger a deletion themselves. Defaults to `True`.
:param reset_session_id: Optional, if `True` the current session id will
be reset, which will require an explicit call to :func:`start_session`
before the test can continue. Defaults to `False`.
"""
try:
if send_request:
self._send_message("deleteSession")
finally:
if reset_session_id:
self.session_id = None
self.session = None
self.process_id = None
self.profile = None
self.session = None
self.session_id = None
self.window = None
if self.client is not None:

Просмотреть файл

@ -8,8 +8,10 @@ from marionette_harness import MarionetteTestCase
class TestSession(MarionetteTestCase):
def setUp(self):
super(TestSession, self).setUp()
self.marionette.delete_session()
def test_new_session_returns_capabilities(self):
@ -35,6 +37,7 @@ class TestSession(MarionetteTestCase):
self.assertTrue(self.marionette.session_id is not None)
self.assertTrue(isinstance(self.marionette.session_id, unicode))
def test_session_already_started(self):
self.marionette.start_session()
self.assertTrue(isinstance(self.marionette.session_id, unicode))
@ -42,7 +45,8 @@ class TestSession(MarionetteTestCase):
self.marionette._send_message("newSession", {})
def test_no_session(self):
with self.assertRaises(errors.InvalidSessionIdException):
with self.assertRaisesRegexp(errors.MarionetteException, "Please start a session"):
self.marionette.get_url()
self.marionette.start_session()
self.marionette.get_url()

Просмотреть файл

@ -96,7 +96,7 @@ class MarionetteProtocol(Protocol):
def teardown(self):
try:
self.marionette._request_in_app_shutdown()
self.marionette.delete_session(send_request=False, reset_session_id=True)
self.marionette.delete_session(send_request=False)
except Exception:
# This is typically because the session never started
pass