From 9395786d11b759bdefaa3ce0e6eb99582a5706fd Mon Sep 17 00:00:00 2001 From: Ryan Dahl Date: Tue, 10 Aug 2010 17:37:30 -0700 Subject: [PATCH] Fix race conditions in tests --- test/pummel/test-http-client-reconnect-bug.js | 41 +++++------ test/pummel/test-net-pause.js | 70 +++++++++---------- test/simple/test-dgram-unix-anon.js | 2 +- 3 files changed, 56 insertions(+), 57 deletions(-) diff --git a/test/pummel/test-http-client-reconnect-bug.js b/test/pummel/test-http-client-reconnect-bug.js index 791c89bc4c..e4a1606381 100644 --- a/test/pummel/test-http-client-reconnect-bug.js +++ b/test/pummel/test-http-client-reconnect-bug.js @@ -1,35 +1,36 @@ common = require("../common"); assert = common.assert -var tcp = require("tcp"), +var net = require("net"), sys = require("sys"), http = require("http"); var errorCount = 0; var eofCount = 0; -var server = tcp.createServer(function(socket) { +var server = net.createServer(function(socket) { socket.end(); }); -server.listen(common.PORT); - -var client = http.createClient(common.PORT); - -client.addListener("error", function() { - console.log("ERROR!"); - errorCount++; -}); - -client.addListener("end", function() { - console.log("EOF!"); - eofCount++; -}); - -var request = client.request("GET", "/", {"host": "localhost"}); -request.end(); -request.addListener('response', function(response) { - console.log("STATUS: " + response.statusCode); +server.on('listening', function(){ + var client = http.createClient(common.PORT); + + client.addListener("error", function(err) { + console.log("ERROR! "+(err.stack||err)); + errorCount++; + }); + + client.addListener("end", function() { + console.log("EOF!"); + eofCount++; + }); + + var request = client.request("GET", "/", {"host": "localhost"}); + request.end(); + request.addListener('response', function(response) { + console.log("STATUS: " + response.statusCode); + }); }); +server.listen(common.PORT); setTimeout(function () { server.close(); diff --git a/test/pummel/test-net-pause.js b/test/pummel/test-net-pause.js index 5482b68922..f96b8222c8 100644 --- a/test/pummel/test-net-pause.js +++ b/test/pummel/test-net-pause.js @@ -1,7 +1,8 @@ -common = require("../common"); -assert = common.assert -net = require("net"); -N = 200; +var common = require("../common"); +var assert = common.assert; +var net = require("net"); +var N = 200; +var recv = "", chars_recved = 0; server = net.createServer(function (connection) { function write (j) { @@ -16,38 +17,35 @@ server = net.createServer(function (connection) { } write(0); }); -server.listen(common.PORT); - - -recv = ""; -chars_recved = 0; - -client = net.createConnection(common.PORT); -client.setEncoding("ascii"); -client.addListener("data", function (d) { - print(d); - recv += d; -}); +server.on('listening', function(){ + client = net.createConnection(common.PORT); + client.setEncoding("ascii"); + client.addListener("data", function (d) { + print(d); + recv += d; + }); -setTimeout(function () { - chars_recved = recv.length; - console.log("pause at: " + chars_recved); - assert.equal(true, chars_recved > 1); - client.pause(); setTimeout(function () { - console.log("resume at: " + chars_recved); - assert.equal(chars_recved, recv.length); - client.resume(); - + chars_recved = recv.length; + console.log("pause at: " + chars_recved); + assert.equal(true, chars_recved > 1); + client.pause(); setTimeout(function () { - chars_recved = recv.length; - console.log("pause at: " + chars_recved); - client.pause(); + console.log("resume at: " + chars_recved); + assert.equal(chars_recved, recv.length); + client.resume(); setTimeout(function () { - console.log("resume at: " + chars_recved); - assert.equal(chars_recved, recv.length); - client.resume(); + chars_recved = recv.length; + console.log("pause at: " + chars_recved); + client.pause(); + + setTimeout(function () { + console.log("resume at: " + chars_recved); + assert.equal(chars_recved, recv.length); + client.resume(); + + }, 500); }, 500); @@ -55,12 +53,12 @@ setTimeout(function () { }, 500); -}, 500); - -client.addListener("end", function () { - server.close(); - client.end(); + client.addListener("end", function () { + server.close(); + client.end(); + }); }); +server.listen(common.PORT); process.addListener("exit", function () { assert.equal(N, recv.length); diff --git a/test/simple/test-dgram-unix-anon.js b/test/simple/test-dgram-unix-anon.js index e8e788b6ff..1068261dc0 100644 --- a/test/simple/test-dgram-unix-anon.js +++ b/test/simple/test-dgram-unix-anon.js @@ -54,4 +54,4 @@ server.on("close", function () { timer = setTimeout(function () { throw new Error("Timeout"); -}, 200); +}, 500);