From 21e2cbb4ee5b8c8b2ce98f018ce0002b94aa7d45 Mon Sep 17 00:00:00 2001 From: Brendan Ashworth Date: Tue, 18 Aug 2015 11:11:28 -0700 Subject: [PATCH 1/3] test: improve test-net-pingpong This includes the following changes: - a more strict data check rather than a regex - reduced number of annoying log calls The most important of the changes is the annoying log calls, which speeds up the test execution from about 0m1.130s to 0m0.481s on my machine. --- test/parallel/test-net-pingpong.js | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/test/parallel/test-net-pingpong.js b/test/parallel/test-net-pingpong.js index 9a0c8af5b0697d..be7dfa435949b5 100644 --- a/test/parallel/test-net-pingpong.js +++ b/test/parallel/test-net-pingpong.js @@ -27,20 +27,17 @@ function pingPongTest(port, host) { // than one message. assert.ok(0 <= socket.bufferSize && socket.bufferSize <= 4); - console.log('server got: ' + data); assert.equal(true, socket.writable); assert.equal(true, socket.readable); assert.equal(true, count <= N); - if (/PING/.exec(data)) { - socket.write('PONG', function() { - sentPongs++; - console.error('sent PONG'); - }); - } + assert.equal(data, 'PING'); + + socket.write('PONG', function() { + sentPongs++; + }); }); socket.on('end', function() { - console.error(socket); assert.equal(true, socket.allowHalfOpen); assert.equal(true, socket.writable); // because allowHalfOpen assert.equal(false, socket.readable); @@ -73,8 +70,6 @@ function pingPongTest(port, host) { }); client.on('data', function(data) { - console.log('client got: ' + data); - assert.equal('PONG', data); count += 1; From 823233d4a9eb1ea2e43a92b5896eb3ef819900de Mon Sep 17 00:00:00 2001 From: Brendan Ashworth Date: Tue, 18 Aug 2015 11:36:20 -0700 Subject: [PATCH 2/3] test: improve test-net-server-pause-on-connect Previously the test had a massive timeout (3s!), reduce this to a platform specific timeout of 50ms. This test runs two servers at the same time in an attempt to compare behaviour. I've added a check to make sure one event fires before the other event, as is expected, but that is a possible race condition. Improves test run time on my machine from 0m3.141s to 0m0.356s. --- test/parallel/test-net-server-pause-on-connect.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/test/parallel/test-net-server-pause-on-connect.js b/test/parallel/test-net-server-pause-on-connect.js index db57114302f490..3f54ecea3c6fd2 100644 --- a/test/parallel/test-net-server-pause-on-connect.js +++ b/test/parallel/test-net-server-pause-on-connect.js @@ -16,14 +16,22 @@ var server1 = net.createServer({pauseOnConnect: true}, function(socket) { }); setTimeout(function() { + // After 50(ish) ms, the other socket should have already read the data. + assert.equal(read, true); assert.equal(socket.bytesRead, 0, 'no data should have been read yet'); + socket.resume(); stopped = false; - }, 3000); + }, common.platformTimeout(50)); }); +// read is a timing check, as server1's timer should fire after server2's +// connection receives the data. Note that this could be race-y. +var read = false; var server2 = net.createServer({pauseOnConnect: false}, function(socket) { socket.on('data', function(data) { + read = true; + assert.equal(data.toString(), msg, 'invalid data received'); socket.end(); server2.close(); @@ -37,3 +45,8 @@ server1.listen(common.PORT, function() { server2.listen(common.PORT + 1, function() { net.createConnection({port: common.PORT + 1}).write(msg); }); + +process.on('exit', function() { + assert.equal(stopped, false); + assert.equal(read, true); +}); From 7487544f2736e460e755b2c2455a985b9bd9414c Mon Sep 17 00:00:00 2001 From: Brendan Ashworth Date: Tue, 18 Aug 2015 11:45:59 -0700 Subject: [PATCH 3/3] test: reduce timeouts in test-net-keepalive Previously 1000-1200ms, they're now (platform dependent) 50-100ms. Improves test run time on my machine from 0m1.335s to 0m0.236s. --- test/parallel/test-net-keepalive.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/parallel/test-net-keepalive.js b/test/parallel/test-net-keepalive.js index 3c339f7abaa350..efbbc5ea7986bb 100644 --- a/test/parallel/test-net-keepalive.js +++ b/test/parallel/test-net-keepalive.js @@ -8,8 +8,8 @@ var echoServer = net.createServer(function(connection) { serverConnection = connection; connection.setTimeout(0); assert.notEqual(connection.setKeepAlive, undefined); - // send a keepalive packet after 1000 ms - connection.setKeepAlive(true, 1000); + // send a keepalive packet after 50 ms + connection.setKeepAlive(true, common.platformTimeout(50)); connection.on('end', function() { connection.end(); }); @@ -27,5 +27,5 @@ echoServer.on('listening', function() { serverConnection.end(); clientConnection.end(); echoServer.close(); - }, 1200); + }, common.platformTimeout(100)); });