version app + node.exe + nw.exe
This commit is contained in:
7
node_modules/cluster/test/common.js
generated
vendored
Normal file
7
node_modules/cluster/test/common.js
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var http = require('http')
|
||||
, should = require('should');
|
||||
1
node_modules/cluster/test/logs/.npmignore
generated
vendored
Normal file
1
node_modules/cluster/test/logs/.npmignore
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.log
|
||||
0
node_modules/cluster/test/logs/nested/.npmignore
generated
vendored
Normal file
0
node_modules/cluster/test/logs/nested/.npmignore
generated
vendored
Normal file
5
node_modules/cluster/test/logs/nested/master.log
generated
vendored
Normal file
5
node_modules/cluster/test/logs/nested/master.log
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
[Mon, 03 Oct 2011 22:37:40 GMT] INFO spawned worker 0
|
||||
[Mon, 03 Oct 2011 22:37:40 GMT] INFO master started
|
||||
[Mon, 03 Oct 2011 22:37:41 GMT] WARNING shutting down master
|
||||
[Mon, 03 Oct 2011 22:37:41 GMT] WARNING sent kill(SIGQUIT) to all workers
|
||||
[Mon, 03 Oct 2011 22:37:41 GMT] ERROR worker 0 died
|
||||
1
node_modules/cluster/test/logs/nested/workers.access.log
generated
vendored
Normal file
1
node_modules/cluster/test/logs/nested/workers.access.log
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
GET /
|
||||
0
node_modules/cluster/test/logs/nested/workers.error.log
generated
vendored
Normal file
0
node_modules/cluster/test/logs/nested/workers.error.log
generated
vendored
Normal file
1
node_modules/cluster/test/pids/.npmignore
generated
vendored
Normal file
1
node_modules/cluster/test/pids/.npmignore
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.pid
|
||||
21
node_modules/cluster/test/run
generated
vendored
Normal file
21
node_modules/cluster/test/run
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
|
||||
rm -f test/pids/*.pid
|
||||
rm -f test/*.sock test/support/*.sock
|
||||
rm -f test/logs/*.log
|
||||
rm -f test/logs/nested/*.log
|
||||
|
||||
clean() {
|
||||
killall -KILL node &> /dev/null
|
||||
}
|
||||
|
||||
clean
|
||||
echo
|
||||
|
||||
files=test/test.*.js
|
||||
for file in $files; do
|
||||
printf "\033[90m ${file#test/}\033[0m "
|
||||
node $@ $file && echo "\033[36m✓\033[0m"
|
||||
test $? -eq 0 || exit $?
|
||||
done
|
||||
echo
|
||||
31
node_modules/cluster/test/support/all.js
generated
vendored
Normal file
31
node_modules/cluster/test/support/all.js
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var cluster = require('../../')
|
||||
, should = require('should')
|
||||
, http = require('http')
|
||||
, fs = require('fs');
|
||||
|
||||
require('../common');
|
||||
|
||||
var server = http.createServer(function(req, res){
|
||||
setTimeout(function(){
|
||||
res.writeHead(200);
|
||||
res.end('Hello World');
|
||||
}, 1000);
|
||||
});
|
||||
|
||||
cluster = cluster(server)
|
||||
.set('workers', 6)
|
||||
.use(cluster.pidfiles())
|
||||
.use(cluster.cli())
|
||||
.use(cluster.logger(__dirname + '/../logs'))
|
||||
.use(cluster.repl(8888, 'localhost'))
|
||||
.use(cluster.stats())
|
||||
.listen(3000);
|
||||
|
||||
cluster.on('listening', function(){
|
||||
console.log('listening');
|
||||
});
|
||||
11
node_modules/cluster/test/support/exported.js
generated
vendored
Normal file
11
node_modules/cluster/test/support/exported.js
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var http = require('http');
|
||||
|
||||
module.exports = http.createServer(function(req, res){
|
||||
res.writeHead(200);
|
||||
res.end('Hello World');
|
||||
});
|
||||
1
node_modules/cluster/test/support/logs/.npmignore
generated
vendored
Normal file
1
node_modules/cluster/test/support/logs/.npmignore
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.log
|
||||
1
node_modules/cluster/test/support/pids/.npmignore
generated
vendored
Normal file
1
node_modules/cluster/test/support/pids/.npmignore
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.pid
|
||||
26
node_modules/cluster/test/support/server.js
generated
vendored
Normal file
26
node_modules/cluster/test/support/server.js
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var cluster = require('../../')
|
||||
, should = require('should')
|
||||
, http = require('http')
|
||||
, fs = require('fs');
|
||||
|
||||
require('../common');
|
||||
|
||||
var server = http.createServer(function(req, res){
|
||||
setTimeout(function(){
|
||||
res.writeHead(200);
|
||||
res.end('Hello World');
|
||||
}, 1000);
|
||||
});
|
||||
|
||||
cluster = cluster(server)
|
||||
.set('workers', 2)
|
||||
.listen(3000);
|
||||
|
||||
cluster.on('listening', function(){
|
||||
console.log('listening');
|
||||
});
|
||||
1
node_modules/cluster/test/support/standalone.js
generated
vendored
Normal file
1
node_modules/cluster/test/support/standalone.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
29
node_modules/cluster/test/test.basic.js
generated
vendored
Normal file
29
node_modules/cluster/test/test.basic.js
generated
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var cluster = require('../')
|
||||
, http = require('http');
|
||||
|
||||
require('./common');
|
||||
|
||||
var server = http.createServer(function(req, res){
|
||||
res.writeHead(200);
|
||||
res.end('Hello World');
|
||||
});
|
||||
|
||||
cluster = cluster(server)
|
||||
.listen(3000);
|
||||
|
||||
cluster.on('listening', function(){
|
||||
process.cwd().should.include.string('cluster/test');
|
||||
http.get({ host: 'localhost', port: 3000 }, function(res){
|
||||
res.on('data', function(chunk){
|
||||
chunk.toString().should.equal('Hello World');
|
||||
});
|
||||
res.on('end', function(){
|
||||
cluster.close();
|
||||
});
|
||||
});
|
||||
});
|
||||
32
node_modules/cluster/test/test.cli-status.js
generated
vendored
Normal file
32
node_modules/cluster/test/test.cli-status.js
generated
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var cluster = require('../')
|
||||
, http = require('http')
|
||||
, fs = require('fs')
|
||||
, Master = require('../lib/master.js');
|
||||
|
||||
require('./common');
|
||||
|
||||
var server = http.createServer(function(req, res){
|
||||
setTimeout(function(){
|
||||
res.writeHead(200);
|
||||
res.end('Hello World');
|
||||
}, 1000);
|
||||
});
|
||||
|
||||
cluster = cluster(server)
|
||||
.set('workers', 1)
|
||||
.use(cluster.pidfiles())
|
||||
.use(cluster.cli())
|
||||
.in('development').listen(3000)
|
||||
.in('staging').listen(3010);
|
||||
|
||||
|
||||
cluster.on('listening', function(){
|
||||
cluster.preventDefault = true;
|
||||
cluster.start().should.be.an.instanceof(Master);
|
||||
cluster.close();
|
||||
});
|
||||
29
node_modules/cluster/test/test.dns.js
generated
vendored
Normal file
29
node_modules/cluster/test/test.dns.js
generated
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var cluster = require('../')
|
||||
, http = require('http');
|
||||
|
||||
require('./common');
|
||||
|
||||
var server = http.createServer(function(req, res){
|
||||
res.writeHead(200);
|
||||
res.end('Hello World');
|
||||
});
|
||||
|
||||
cluster = cluster(server)
|
||||
.listen(3000, 'localhost');
|
||||
|
||||
cluster.on('listening', function(){
|
||||
process.cwd().should.include.string('cluster/test');
|
||||
http.get({ host: 'localhost', port: 3000 }, function(res){
|
||||
res.on('data', function(chunk){
|
||||
chunk.toString().should.equal('Hello World');
|
||||
});
|
||||
res.on('end', function(){
|
||||
cluster.close();
|
||||
});
|
||||
});
|
||||
});
|
||||
30
node_modules/cluster/test/test.env.js
generated
vendored
Normal file
30
node_modules/cluster/test/test.env.js
generated
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var cluster = require('../')
|
||||
, assert = require('assert')
|
||||
, http = require('http');
|
||||
|
||||
require('./common');
|
||||
|
||||
var server = http.createServer(function(req, res){
|
||||
res.writeHead(200);
|
||||
res.end('Hello World');
|
||||
});
|
||||
|
||||
cluster = cluster(server)
|
||||
.listen(3000);
|
||||
|
||||
if (cluster.isMaster) {
|
||||
process.env.FOO = 'bar';
|
||||
assert.ok(!process.env.CLUSTER_WORKER);
|
||||
} else {
|
||||
process.env.FOO.should.equal('bar');
|
||||
assert.ok(process.env.CLUSTER_WORKER);
|
||||
}
|
||||
|
||||
cluster.on('listening', function(){
|
||||
cluster.close();
|
||||
});
|
||||
14
node_modules/cluster/test/test.ephemeral.js
generated
vendored
Normal file
14
node_modules/cluster/test/test.ephemeral.js
generated
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var cluster = require('../')
|
||||
, http = require('http')
|
||||
, app = http.createServer();
|
||||
|
||||
cluster(app)
|
||||
.set('workers', 2)
|
||||
.listen(0)
|
||||
.on('listening', process.exit);
|
||||
|
||||
26
node_modules/cluster/test/test.filename.js
generated
vendored
Normal file
26
node_modules/cluster/test/test.filename.js
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var cluster = require('../')
|
||||
, http = require('http');
|
||||
|
||||
require('./common');
|
||||
|
||||
|
||||
cluster = cluster('support/exported')
|
||||
.set('workers', 4)
|
||||
.listen(3000);
|
||||
|
||||
cluster.on('listening', function(){
|
||||
process.cwd().should.include.string('cluster/test');
|
||||
http.get({ host: 'localhost', port: 3000 }, function(res){
|
||||
res.on('data', function(chunk){
|
||||
chunk.toString().should.equal('Hello World');
|
||||
});
|
||||
res.on('end', function(){
|
||||
cluster.close();
|
||||
});
|
||||
});
|
||||
});
|
||||
34
node_modules/cluster/test/test.logger.custom-path.js
generated
vendored
Normal file
34
node_modules/cluster/test/test.logger.custom-path.js
generated
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var cluster = require('../')
|
||||
, http = require('http')
|
||||
, fs = require('fs');
|
||||
|
||||
require('./common');
|
||||
|
||||
var server = http.createServer(function(req, res){
|
||||
console.log('%s %s', req.method, req.url);
|
||||
res.writeHead(200);
|
||||
res.end('Hello World');
|
||||
});
|
||||
|
||||
cluster = cluster(server)
|
||||
.set('workers', 1)
|
||||
.use(cluster.logger(__dirname + '/logs/nested'))
|
||||
.listen(3000);
|
||||
|
||||
cluster.on('listening', function(){
|
||||
http.get({ host: 'localhost', port: 3000 }, function(res){
|
||||
res.on('end', function(){
|
||||
var files = fs.readdirSync(__dirname + '/logs/nested');
|
||||
files.should.have.length(4);
|
||||
files.should.contain('master.log');
|
||||
files.should.contain('workers.access.log');
|
||||
files.should.contain('workers.error.log');
|
||||
cluster.close();
|
||||
});
|
||||
});
|
||||
});
|
||||
37
node_modules/cluster/test/test.logger.js
generated
vendored
Normal file
37
node_modules/cluster/test/test.logger.js
generated
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var cluster = require('../')
|
||||
, http = require('http')
|
||||
, fs = require('fs');
|
||||
|
||||
require('./common');
|
||||
|
||||
var server = http.createServer(function(req, res){
|
||||
console.log('%s %s', req.method, req.url);
|
||||
res.writeHead(200);
|
||||
res.end('Hello World');
|
||||
});
|
||||
|
||||
cluster = cluster(server)
|
||||
.set('workers', 1)
|
||||
.use(cluster.logger())
|
||||
.listen(3000);
|
||||
|
||||
cluster.on('listening', function(){
|
||||
http.get({ host: 'localhost', port: 3000 }, function(res){
|
||||
res.on('end', function(){
|
||||
var files = fs.readdirSync(__dirname + '/logs');
|
||||
files.should.have.length(5);
|
||||
files.should.contain('master.log');
|
||||
files.should.contain('workers.access.log');
|
||||
files.should.contain('workers.error.log');
|
||||
fs.readFile(__dirname + '/logs/workers.access.log', 'ascii', function(err, str){
|
||||
str.should.match(/^GET \//);
|
||||
cluster.close();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
38
node_modules/cluster/test/test.pidfiles.js
generated
vendored
Normal file
38
node_modules/cluster/test/test.pidfiles.js
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var cluster = require('../')
|
||||
, http = require('http')
|
||||
, fs = require('fs');
|
||||
|
||||
require('./common');
|
||||
|
||||
var server = http.createServer(function(req, res){
|
||||
setTimeout(function(){
|
||||
res.writeHead(200);
|
||||
res.end('Hello World');
|
||||
}, 1000);
|
||||
});
|
||||
|
||||
cluster = cluster(server)
|
||||
.set('workers', 2)
|
||||
.use(cluster.pidfiles())
|
||||
.listen(3000);
|
||||
|
||||
function checkFile(name) {
|
||||
var pid = fs.readFileSync(__dirname + '/pids/' + name, 'ascii');
|
||||
(!isNaN(parseInt(pid, 10))).should.be.true;
|
||||
}
|
||||
|
||||
cluster.on('listening', function(){
|
||||
fs.readdir(__dirname + '/pids', function(err, files){
|
||||
// TODO: test master pid
|
||||
files.should.contain('worker.0.pid');
|
||||
files.should.contain('worker.1.pid');
|
||||
checkFile('worker.0.pid');
|
||||
checkFile('worker.1.pid');
|
||||
cluster.close();
|
||||
});
|
||||
});
|
||||
34
node_modules/cluster/test/test.restart-env.js
generated
vendored
Normal file
34
node_modules/cluster/test/test.restart-env.js
generated
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var cluster = require('../')
|
||||
, http = require('http')
|
||||
, assert = require('assert');
|
||||
|
||||
require('./common');
|
||||
|
||||
var server = http.createServer(function(req, res){
|
||||
res.writeHead(200);
|
||||
res.end('Hello World');
|
||||
});
|
||||
|
||||
cluster = cluster(server)
|
||||
.listen(3001);
|
||||
|
||||
if (cluster.isChild) {
|
||||
process.cwd().should.include.string('cluster/test');
|
||||
cluster.on('listening', function(){
|
||||
assert.equal(require.paths.join(':'), process.env.REQUIRE_PATHS);
|
||||
assert.equal(process.env.FOO, 'bar');
|
||||
cluster.close();
|
||||
});
|
||||
} else {
|
||||
process.env.REQUIRE_PATHS = require.paths.join(':');
|
||||
process.env.FOO = 'bar';
|
||||
cluster.on('listening', function(){
|
||||
cluster.restart();
|
||||
});
|
||||
}
|
||||
|
||||
66
node_modules/cluster/test/test.restart.js
generated
vendored
Normal file
66
node_modules/cluster/test/test.restart.js
generated
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var cluster = require('../')
|
||||
, http = require('http')
|
||||
, fs = require('fs');
|
||||
|
||||
require('./common');
|
||||
|
||||
var server = http.createServer(function(req, res){
|
||||
setTimeout(function(){
|
||||
res.writeHead(200);
|
||||
res.end('Hello World');
|
||||
}, 1000);
|
||||
});
|
||||
|
||||
cluster = cluster(server)
|
||||
.set('workers', 2)
|
||||
.use(cluster.pidfiles())
|
||||
.listen(3002);
|
||||
|
||||
var a, b
|
||||
, options = { host: 'localhost', port: 3002 };
|
||||
|
||||
function getPID(name) {
|
||||
var pid = fs.readFileSync(__dirname + '/pids/' + name, 'ascii');
|
||||
return parseInt(pid, 10);
|
||||
}
|
||||
|
||||
function movePID(name) {
|
||||
var pid = getPID(name);
|
||||
fs.writeFileSync(__dirname + '/pids/old.' + name, pid.toString(), 'ascii');
|
||||
}
|
||||
|
||||
if (cluster.isChild) {
|
||||
cluster.on('restart', function(){
|
||||
http.get(options, function(res){
|
||||
res.statusCode.should.equal(200);
|
||||
var a = getPID('old.worker.0.pid')
|
||||
, b = getPID('old.worker.1.pid');
|
||||
a.should.not.equal(getPID('worker.0.pid'));
|
||||
b.should.not.equal(getPID('worker.1.pid'));
|
||||
cluster.close();
|
||||
});
|
||||
});
|
||||
} else {
|
||||
var pending = 2;
|
||||
cluster.on('worker pidfile', function(){
|
||||
--pending || (function(){
|
||||
movePID('worker.0.pid')
|
||||
movePID('worker.1.pid');
|
||||
|
||||
// issue some requests
|
||||
var n = 20
|
||||
, pending = n;
|
||||
while (n--) {
|
||||
http.get(options, function(res){
|
||||
res.statusCode.should.equal(200);
|
||||
--pending || cluster.restart();
|
||||
});
|
||||
}
|
||||
})();
|
||||
});
|
||||
}
|
||||
48
node_modules/cluster/test/test.shutdown-all.js
generated
vendored
Normal file
48
node_modules/cluster/test/test.shutdown-all.js
generated
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var spawn = require('child_process').spawn
|
||||
, http = require('http');
|
||||
|
||||
require('./common');
|
||||
|
||||
var calls = 0;
|
||||
|
||||
// child process
|
||||
|
||||
var child = spawn('node', [__dirname + '/support/all.js'], {
|
||||
customFds: [-1, -1, 2]
|
||||
});
|
||||
|
||||
// listening
|
||||
|
||||
child.stdout.on('data', function(chunk){
|
||||
var options = { host: 'localhost', port: 3000 };
|
||||
|
||||
http.get(options, function(res){
|
||||
++calls;
|
||||
res.statusCode.should.equal(200);
|
||||
child.kill('SIGQUIT');
|
||||
});
|
||||
|
||||
http.get(options, function(res){
|
||||
++calls;
|
||||
res.statusCode.should.equal(200);
|
||||
});
|
||||
|
||||
http.get(options, function(res){
|
||||
++calls;
|
||||
res.statusCode.should.equal(200);
|
||||
});
|
||||
|
||||
http.get(options, function(res){
|
||||
++calls;
|
||||
res.statusCode.should.equal(200);
|
||||
});
|
||||
});
|
||||
|
||||
child.on('exit', function(){
|
||||
calls.should.equal(4);
|
||||
});
|
||||
48
node_modules/cluster/test/test.shutdown.js
generated
vendored
Normal file
48
node_modules/cluster/test/test.shutdown.js
generated
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var spawn = require('child_process').spawn
|
||||
, http = require('http');
|
||||
|
||||
require('./common');
|
||||
|
||||
var calls = 0;
|
||||
|
||||
// child process
|
||||
|
||||
var child = spawn('node', [__dirname + '/support/server.js'], {
|
||||
customFds: [-1, -1, 2]
|
||||
});
|
||||
|
||||
// listening
|
||||
|
||||
child.stdout.on('data', function(chunk){
|
||||
var options = { host: 'localhost', port: 3000 };
|
||||
|
||||
http.get(options, function(res){
|
||||
++calls;
|
||||
res.statusCode.should.equal(200);
|
||||
child.kill('SIGQUIT');
|
||||
});
|
||||
|
||||
http.get(options, function(res){
|
||||
++calls;
|
||||
res.statusCode.should.equal(200);
|
||||
});
|
||||
|
||||
http.get(options, function(res){
|
||||
++calls;
|
||||
res.statusCode.should.equal(200);
|
||||
});
|
||||
|
||||
http.get(options, function(res){
|
||||
++calls;
|
||||
res.statusCode.should.equal(200);
|
||||
});
|
||||
});
|
||||
|
||||
child.on('exit', function(){
|
||||
calls.should.equal(4);
|
||||
});
|
||||
18
node_modules/cluster/test/test.standalone-shutdown.js
generated
vendored
Normal file
18
node_modules/cluster/test/test.standalone-shutdown.js
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var cluster = require('../');
|
||||
|
||||
require('./common');
|
||||
|
||||
cluster = cluster()
|
||||
.set('workers', 1)
|
||||
.start();
|
||||
|
||||
if (cluster.isWorker) {
|
||||
setTimeout(function(){
|
||||
process.kill(process.env.CLUSTER_MASTER_PID, 'SIGQUIT');
|
||||
}, 500);
|
||||
}
|
||||
16
node_modules/cluster/test/test.standalone.file.js
generated
vendored
Normal file
16
node_modules/cluster/test/test.standalone.file.js
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var cluster = require('../');
|
||||
|
||||
cluster = cluster('./support/standalone')
|
||||
.set('workers', 4)
|
||||
.start();
|
||||
|
||||
if (cluster.isMaster) {
|
||||
setTimeout(function(){
|
||||
process.kill(process.pid, 'SIGQUIT');
|
||||
}, 500);
|
||||
}
|
||||
22
node_modules/cluster/test/test.standalone.js
generated
vendored
Normal file
22
node_modules/cluster/test/test.standalone.js
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var cluster = require('../');
|
||||
|
||||
require('./common');
|
||||
|
||||
cluster = cluster()
|
||||
.set('workers', 2)
|
||||
.start();
|
||||
|
||||
if (cluster.isWorker) {
|
||||
setTimeout(process.exit, Math.random() * 300);
|
||||
} else {
|
||||
// make sure workers are re-spawned
|
||||
var n = 12;
|
||||
cluster.on('worker killed', function(worker){
|
||||
--n || process.exit();
|
||||
});
|
||||
}
|
||||
25
node_modules/cluster/test/test.standalone.restart.js
generated
vendored
Normal file
25
node_modules/cluster/test/test.standalone.restart.js
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var cluster = require('../');
|
||||
|
||||
require('./common');
|
||||
var assert = require('assert');
|
||||
|
||||
cluster = cluster()
|
||||
.set('workers', 2)
|
||||
.set('restart threshold', 0)
|
||||
.start();
|
||||
|
||||
if (!cluster.isMaster) return;
|
||||
var ppid = process.env.CLUSTER_PARENT_PID;
|
||||
|
||||
cluster.on('listening', function(){
|
||||
if (ppid) return cluster.close();
|
||||
cluster.restart();
|
||||
setTimeout(function() {
|
||||
throw new Error('Failed to kill parent master');
|
||||
}, 3000);
|
||||
});
|
||||
36
node_modules/cluster/test/test.worker-kill.js
generated
vendored
Normal file
36
node_modules/cluster/test/test.worker-kill.js
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var cluster = require('../')
|
||||
, http = require('http');
|
||||
|
||||
require('./common');
|
||||
|
||||
var server = http.createServer(function(req, res){
|
||||
res.writeHead(200);
|
||||
res.end('Hello World');
|
||||
});
|
||||
|
||||
cluster = cluster(server)
|
||||
.set('workers', 1)
|
||||
.listen(3000);
|
||||
|
||||
cluster.on('listening', function(){
|
||||
http.get({ host: 'localhost', port: 3000 }, function(res){
|
||||
res.statusCode.should.equal(200);
|
||||
|
||||
// kill the worker
|
||||
var pid = cluster.children[0].proc.pid;
|
||||
process.kill(pid, 'SIGKILL');
|
||||
});
|
||||
});
|
||||
|
||||
cluster.on('worker killed', function(worker){
|
||||
worker.id.should.equal(0);
|
||||
http.get({ host: 'localhost', port: 3000 }, function(res){
|
||||
res.statusCode.should.equal(200);
|
||||
cluster.close();
|
||||
});
|
||||
});
|
||||
56
node_modules/cluster/test/test.worker-quit-keep-alive.js
generated
vendored
Normal file
56
node_modules/cluster/test/test.worker-quit-keep-alive.js
generated
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var cluster = require('../')
|
||||
, http = require('http');
|
||||
|
||||
require('./common');
|
||||
|
||||
var server = http.createServer(function(req, res){
|
||||
res.writeHead(200);
|
||||
res.end('Hello World');
|
||||
});
|
||||
|
||||
// request options
|
||||
|
||||
var options = {
|
||||
host: 'localhost'
|
||||
, port: 3000
|
||||
, headers: { Connection: 'keep-alive' }
|
||||
};
|
||||
|
||||
// cluster
|
||||
|
||||
cluster = cluster(server)
|
||||
.set('workers', 1)
|
||||
.set('timeout', 1000)
|
||||
.listen(3000);
|
||||
|
||||
cluster.on('listening', function(){
|
||||
http.get(options, function(res){
|
||||
res.statusCode.should.equal(200);
|
||||
|
||||
// kill the worker
|
||||
var pid = cluster.children[0].proc.pid;
|
||||
process.kill(pid, 'SIGQUIT');
|
||||
});
|
||||
});
|
||||
|
||||
var timeout;
|
||||
|
||||
cluster.on('worker timeout', function(worker){
|
||||
worker.id.should.equal(0);
|
||||
timeout = true;
|
||||
});
|
||||
|
||||
cluster.on('worker connected', function(worker){
|
||||
if (timeout) {
|
||||
worker.id.should.equal(0);
|
||||
http.get(options, function(res){
|
||||
res.statusCode.should.equal(200);
|
||||
cluster.close();
|
||||
});
|
||||
}
|
||||
});
|
||||
36
node_modules/cluster/test/test.worker-quit.js
generated
vendored
Normal file
36
node_modules/cluster/test/test.worker-quit.js
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var cluster = require('../')
|
||||
, http = require('http');
|
||||
|
||||
require('./common');
|
||||
|
||||
var server = http.createServer(function(req, res){
|
||||
res.writeHead(200);
|
||||
res.end('Hello World');
|
||||
});
|
||||
|
||||
cluster = cluster(server)
|
||||
.set('workers', 1)
|
||||
.listen(3000);
|
||||
|
||||
cluster.on('listening', function(){
|
||||
http.get({ host: 'localhost', port: 3000 }, function(res){
|
||||
res.statusCode.should.equal(200);
|
||||
|
||||
// kill the worker
|
||||
var pid = cluster.children[0].proc.pid;
|
||||
process.kill(pid, 'SIGQUIT');
|
||||
});
|
||||
});
|
||||
|
||||
cluster.on('worker killed', function(worker){
|
||||
worker.id.should.equal(0);
|
||||
http.get({ host: 'localhost', port: 3000 }, function(res){
|
||||
res.statusCode.should.equal(200);
|
||||
cluster.close();
|
||||
});
|
||||
});
|
||||
36
node_modules/cluster/test/test.worker-term.js
generated
vendored
Normal file
36
node_modules/cluster/test/test.worker-term.js
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var cluster = require('../')
|
||||
, http = require('http');
|
||||
|
||||
require('./common');
|
||||
|
||||
var server = http.createServer(function(req, res){
|
||||
res.writeHead(200);
|
||||
res.end('Hello World');
|
||||
});
|
||||
|
||||
cluster = cluster(server)
|
||||
.set('workers', 1)
|
||||
.listen(3000);
|
||||
|
||||
cluster.on('listening', function(){
|
||||
http.get({ host: 'localhost', port: 3000 }, function(res){
|
||||
res.statusCode.should.equal(200);
|
||||
|
||||
// kill the worker
|
||||
var pid = cluster.children[0].proc.pid;
|
||||
process.kill(pid, 'SIGTERM');
|
||||
});
|
||||
});
|
||||
|
||||
cluster.on('worker killed', function(worker){
|
||||
worker.id.should.equal(0);
|
||||
http.get({ host: 'localhost', port: 3000 }, function(res){
|
||||
res.statusCode.should.equal(200);
|
||||
cluster.close();
|
||||
});
|
||||
});
|
||||
27
node_modules/cluster/test/test.working-dir.js
generated
vendored
Normal file
27
node_modules/cluster/test/test.working-dir.js
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var cluster = require('../')
|
||||
, http = require('http');
|
||||
|
||||
require('./common');
|
||||
|
||||
var server = http.createServer(function(req, res){
|
||||
res.writeHead(200);
|
||||
res.end('Hello World');
|
||||
});
|
||||
|
||||
cluster = cluster(server)
|
||||
.set('working directory', '/')
|
||||
.listen(3000);
|
||||
|
||||
if (cluster.isWorker) {
|
||||
process.cwd().should.equal('/');
|
||||
}
|
||||
|
||||
cluster.on('listening', function(){
|
||||
process.cwd().should.equal('/');
|
||||
cluster.close();
|
||||
});
|
||||
Reference in New Issue
Block a user