| OLD | NEW |
| (Empty) |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | |
| 2 # Use of this source code is governed by a BSD-style license that can be | |
| 3 # found in the LICENSE file. | |
| 4 | |
| 5 import os | |
| 6 import sys | |
| 7 | |
| 8 from core import path_util | |
| 9 | |
| 10 from telemetry.core import local_server | |
| 11 from telemetry.core import util | |
| 12 | |
| 13 | |
| 14 # This invokes pywebsocket's standalone.py under third_party/pywebsocket | |
| 15 class PywebsocketServerBackend(local_server.LocalServerBackend): | |
| 16 | |
| 17 def __init__(self): | |
| 18 super(PywebsocketServerBackend, self).__init__() | |
| 19 self.port = 8001 | |
| 20 self.base_dir = os.path.relpath( | |
| 21 os.path.join(path_util.GetChromiumSrcDir(), | |
| 22 'third_party', 'pywebsocket', 'src'), | |
| 23 start=util.GetTelemetryDir()) | |
| 24 | |
| 25 def StartAndGetNamedPorts(self, args): | |
| 26 return [local_server.NamedPort('http', self.port)] | |
| 27 | |
| 28 def ServeForever(self): | |
| 29 os.chdir(self.base_dir) | |
| 30 cmd = [ | |
| 31 sys.executable, '-m', 'mod_pywebsocket.standalone', | |
| 32 '--port', str(self.port), | |
| 33 '--log-level', 'debug', | |
| 34 '-d', 'example' | |
| 35 ] | |
| 36 os.execv(sys.executable, cmd) | |
| 37 | |
| 38 | |
| 39 class PywebsocketServer(local_server.LocalServer): | |
| 40 | |
| 41 def __init__(self): | |
| 42 super(PywebsocketServer, self).__init__(PywebsocketServerBackend) | |
| 43 | |
| 44 def GetBackendStartupArgs(self): | |
| 45 return {} | |
| OLD | NEW |