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.
8 from telemetry
.core
import local_server
9 from telemetry
.core
import util
12 # This invokes pywebsocket's standalone.py under third_party/pywebsocket
13 class PywebsocketServerBackend(local_server
.LocalServerBackend
):
15 super(PywebsocketServerBackend
, self
).__init
__()
17 self
.base_dir
= os
.path
.relpath(
18 os
.path
.join(util
.GetChromiumSrcDir(),
19 'third_party', 'pywebsocket', 'src'),
20 start
=util
.GetTelemetryDir())
22 def StartAndGetNamedPorts(self
, args
):
23 return [local_server
.NamedPort('http', self
.port
)]
25 def ServeForever(self
):
26 os
.chdir(self
.base_dir
)
28 sys
.executable
, '-m', 'mod_pywebsocket.standalone',
29 '--port', str(self
.port
),
30 '--log-level', 'debug',
33 os
.execv(sys
.executable
, cmd
)
35 class PywebsocketServer(local_server
.LocalServer
):
37 super(PywebsocketServer
, self
).__init
__(PywebsocketServerBackend
)
39 def GetBackendStartupArgs(self
):