Browse Source

Fix race conditions in tests

v0.7.4-release
Ryan Dahl 15 years ago
parent
commit
9395786d11
  1. 41
      test/pummel/test-http-client-reconnect-bug.js
  2. 70
      test/pummel/test-net-pause.js
  3. 2
      test/simple/test-dgram-unix-anon.js

41
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();

70
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);

2
test/simple/test-dgram-unix-anon.js

@ -54,4 +54,4 @@ server.on("close", function () {
timer = setTimeout(function () {
throw new Error("Timeout");
}, 200);
}, 500);

Loading…
Cancel
Save