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 telemetry.core import local_server |
| 9 from telemetry.core import util |
| 10 |
| 11 # This invokes pywebsocket's standalone.py under third_party/pywebsocket |
| 12 class PywebsocketServerBackend(local_server.LocalServerBackend): |
| 13 def __init__(self): |
| 14 super(PywebsocketServerBackend, self).__init__() |
| 15 self.port = 8001 |
| 16 self.base_dir = os.path.relpath( |
| 17 os.path.join(util.GetChromiumSrcDir(), |
| 18 'third_party', 'pywebsocket', 'src'), |
| 19 start=util.GetTelemetryDir()) |
| 20 |
| 21 def StartAndGetNamedPorts(self, args): |
| 22 return [local_server.NamedPort('http', self.port)] |
| 23 |
| 24 def ServeForever(self): |
| 25 os.chdir(self.base_dir) |
| 26 cmd = [ |
| 27 sys.executable, '-m', 'mod_pywebsocket.standalone', |
| 28 '--port', str(self.port), |
| 29 '--log-level', 'debug', |
| 30 '-d', 'example' |
| 31 ] |
| 32 os.execv(sys.executable, cmd) |
| 33 |
| 34 class PywebsocketServer(local_server.LocalServer): |
| 35 def __init__(self): |
| 36 super(PywebsocketServer, self).__init__(PywebsocketServerBackend) |
| 37 |
| 38 def GetBackendStartupArgs(self): |
| 39 return {} |
OLD | NEW |