diff options
author | nduca@chromium.org <nduca@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-06 00:48:57 +0000 |
---|---|---|
committer | nduca@chromium.org <nduca@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-06 00:48:57 +0000 |
commit | 4b5b66b94589bf6effa2da00a4f81fa23f8d0b72 (patch) | |
tree | b8c703c1b2b71ea8b04773e8d5efb38ce3faf3e2 /tools/telemetry | |
parent | a6bc2795c207f9da52cdfe2402d999015149d0e5 (diff) | |
download | chromium_src-4b5b66b94589bf6effa2da00a4f81fa23f8d0b72.zip chromium_src-4b5b66b94589bf6effa2da00a4f81fa23f8d0b72.tar.gz chromium_src-4b5b66b94589bf6effa2da00a4f81fa23f8d0b72.tar.bz2 |
Fix telemetry reconnect when lost to inspector
Telemetry used to rely on the websocket listing going away on the browser
when the inspector was gone. Now, it is there but the connect attempt
raises an error. This is the narrowest fix I can think of: we still will
fail on reconnect when the exception we get back is different. Broadening
that test can be done iff we see that this is overspecific.
BUG=324604
Review URL: https://codereview.chromium.org/96343003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239088 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/telemetry')
-rw-r--r-- | tools/telemetry/telemetry/core/backends/chrome/inspector_backend.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/tools/telemetry/telemetry/core/backends/chrome/inspector_backend.py b/tools/telemetry/telemetry/core/backends/chrome/inspector_backend.py index b5b4eb4..64beccb 100644 --- a/tools/telemetry/telemetry/core/backends/chrome/inspector_backend.py +++ b/tools/telemetry/telemetry/core/backends/chrome/inspector_backend.py @@ -266,12 +266,19 @@ class InspectorBackend(object): self._socket.close() self._socket = None def IsBack(): - return self._browser_backend.tab_list_backend.DoesDebuggerUrlExist( - self._debugger_url) + if not self._browser_backend.tab_list_backend.DoesDebuggerUrlExist( + self._debugger_url): + return False + try: + self._Connect() + except exceptions.TabCrashException, ex: + if ex.message.message.find('Handshake Status 500') == 0: + return False + raise + return True util.WaitFor(IsBack, 512) sys.stderr.write('\n') sys.stderr.write('Inspector\'s UI closed. Telemetry will now resume.\n') - self._Connect() def SyncRequest(self, req, timeout=10): self._Connect(timeout) |