diff --git a/index.js b/index.js index 724b5179e7..3990e74052 100644 --- a/index.js +++ b/index.js @@ -411,17 +411,20 @@ function RedisClient(stream) { if (this.closing) { return; } + + var message = "Redis connection to " + self.host + ":" + self.port + " failed - " + msg.message; + if (exports.debug_mode) { - console.warn("Connecting to redis server: " + msg); + console.warn(message); } self.offline_queue.forEach(function (args) { if (typeof args[2] === "function") { - args[2]("Server connection could not be established"); + args[2](message); } }); self.connected = false; - self.emit("error", msg); + self.emit("error", new Error(message)); }); this.stream.on("close", function () { diff --git a/test.js b/test.js index 6c5c6cd474..c03d00b88e 100644 --- a/test.js +++ b/test.js @@ -991,8 +991,18 @@ client.on('end', function () { ended = true; }); +// Exit immediately on connection failure, which triggers "exit", below, which fails the test client.on("error", function (err) { - console.log("Redis client connection failed: " + err.stack); + console.error("client: " + err.stack); + process.exit(); +}); +client2.on("error", function (err) { + console.error("client2: " + err.stack); + process.exit(); +}); +client3.on("error", function (err) { + console.error("client3: " + err.stack); + process.exit(); }); client.on("reconnecting", function (msg) {