forked from nodejs/node-v0.x-archive
-
Notifications
You must be signed in to change notification settings - Fork 2
/
test-http-stress.js
41 lines (36 loc) · 1.02 KB
/
test-http-stress.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
process.mixin(require('../common.js'));
var PORT = 8003;
var request_count = 1000;
var response_body = '{"ok": true}';
var server = process.http.createServer(function(req, res) {
res.sendHeader(200, {'Content-Type': 'text/javascript'});
res.sendBody(response_body);
res.finish();
});
server.listen(PORT, 4024);
var requests_ok = 0;
var requests_complete = 0;
function onLoad () {
for (var i = 0; i < request_count; i++) {
process.http.cat('http://localhost:'+PORT+'/', 'utf8')
.addCallback(function (content) {
assert.equal(response_body, content)
print(".");
requests_ok++;
requests_complete++;
if (requests_ok == request_count) {
puts("\nrequests ok: " + requests_ok);
server.close();
}
})
.addErrback(function() {
print("-");
requests_complete++;
//process.debug("error " + i);
});
}
}
process.addListener("exit", function () {
assert.equal(request_count, requests_complete);
assert.equal(request_count, requests_ok);
});