Bug 1231981 - Part 2.1: Only run the websocket/process bridge for media tests. r=ahal
MozReview-Commit-ID: 3GBAGTSR08c
--- a/testing/mochitest/runtests.py
+++ b/testing/mochitest/runtests.py
@@ -818,27 +818,30 @@ class MochitestBase(object):
self.websocketProcessBridge = mozprocess.ProcessHandler(command,
cwd=SCRIPT_DIR)
self.websocketProcessBridge.run()
self.log.info("runtests.py | websocket/process bridge pid: %d"
% self.websocketProcessBridge.pid)
# ensure the server is up, wait for at most ten seconds
for i in range(1,100):
+ if self.websocketProcessBridge.proc.poll() is not None:
+ self.log.error("runtests.py | websocket/process bridge failed "
+ "to launch. Are all the dependencies installed?")
+ return
+
try:
sock = socket.create_connection(("127.0.0.1", 8191))
sock.close()
break
except:
time.sleep(0.1)
else:
self.log.error("runtests.py | Timed out while waiting for "
"websocket/process bridge startup.")
- self.stopServers()
- sys.exit(1)
def startServers(self, options, debuggerInfo, ignoreSSLTunnelExts=False):
# start servers and set ports
# TODO: pass these values, don't set on `self`
self.webServer = options.webServer
self.httpPort = options.httpPort
self.sslPort = options.sslPort
self.webSocketPort = options.webSocketPort
@@ -847,17 +850,19 @@ class MochitestBase(object):
# on the command line to select a particular version of httpd.js. If not
# specified, try to select the one from hostutils.zip, as required in
# bug 882932.
if not options.httpdPath:
options.httpdPath = os.path.join(options.utilityPath, "components")
self.startWebServer(options)
self.startWebSocketServer(options, debuggerInfo)
- self.startWebsocketProcessBridge(options)
+
+ if options.subsuite in ["media"]:
+ self.startWebsocketProcessBridge(options)
# start SSL pipe
self.sslTunnel = SSLTunnel(
options,
logger=self.log,
ignoreSSLTunnelExts=ignoreSSLTunnelExts)
self.sslTunnel.buildConfig(self.locations)
self.sslTunnel.start()