Bug 1449612 - [marionette] Improve logging when server socket failed to start.
Raises a better understandable error when the server socket cannot be
created. It includes the port number, and removes the
unhelpful output of the internal error.
MozReview-Commit-ID: AD1leBlWXLR
--- a/testing/marionette/server.js
+++ b/testing/marionette/server.js
@@ -74,19 +74,24 @@ server.TCPListener = class {
driverFactory() {
Preferences.set(PREF_CONTENT_LISTENER, false);
return new GeckoDriver(Services.appinfo.ID, this);
}
set acceptConnections(value) {
if (value) {
if (!this.socket) {
- const flags = KeepWhenOffline | LoopbackOnly;
- const backlog = 1;
- this.socket = new ServerSocket(this.port, flags, backlog);
+ try {
+ const flags = KeepWhenOffline | LoopbackOnly;
+ const backlog = 1;
+ this.socket = new ServerSocket(this.port, flags, backlog);
+ } catch (e) {
+ throw new Error(`Could not bind to port ${this.port} (${e.name})`);
+ }
+
this.port = this.socket.port;
this.socket.asyncListen(this);
logger.debug("New connections are accepted");
}
} else if (this.socket) {
this.socket.close();