test: fix test-net-keepalive for AIX
authorImran Iqbal <imrani@ca.ibm.com>
Tue, 20 Oct 2015 20:58:16 +0000 (16:58 -0400)
committerJames M Snell <jasnell@gmail.com>
Thu, 29 Oct 2015 15:38:42 +0000 (08:38 -0700)
Fixed an intermittent issue on AIX where the 100ms timeout was reached
before the 'connection' event was fired. This resulted in a failure as
serverConnection would be undefined and the assert.equal would throw an
error. Changed the flow of the test so that the timeout is only set
after a connection has been made.

Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
PR-URL: https://github.com/nodejs/node/pull/3458

test/parallel/test-net-keepalive.js

index efbbc5e..b05537b 100644 (file)
@@ -4,8 +4,17 @@ var assert = require('assert');
 var net = require('net');
 
 var serverConnection;
+var clientConnection;
 var echoServer = net.createServer(function(connection) {
   serverConnection = connection;
+  setTimeout(function() {
+    // make sure both connections are still open
+    assert.equal(serverConnection.readyState, 'open');
+    assert.equal(clientConnection.readyState, 'open');
+    serverConnection.end();
+    clientConnection.end();
+    echoServer.close();
+  }, common.platformTimeout(100));
   connection.setTimeout(0);
   assert.notEqual(connection.setKeepAlive, undefined);
   // send a keepalive packet after 50 ms
@@ -17,15 +26,6 @@ var echoServer = net.createServer(function(connection) {
 echoServer.listen(common.PORT);
 
 echoServer.on('listening', function() {
-  var clientConnection = net.createConnection(common.PORT);
+  clientConnection = net.createConnection(common.PORT);
   clientConnection.setTimeout(0);
-
-  setTimeout(function() {
-    // make sure both connections are still open
-    assert.equal(serverConnection.readyState, 'open');
-    assert.equal(clientConnection.readyState, 'open');
-    serverConnection.end();
-    clientConnection.end();
-    echoServer.close();
-  }, common.platformTimeout(100));
 });