mirror of
https://github.com/ION606/archivebot.git
synced 2026-05-14 22:16:56 +00:00
59 lines
1.3 KiB
JavaScript
59 lines
1.3 KiB
JavaScript
|
|
var assert = require('assert');
|
||
|
|
var http = require('http');
|
||
|
|
var spawn = require('child_process').spawn;
|
||
|
|
var after = require('after');
|
||
|
|
|
||
|
|
function launch(args) {
|
||
|
|
var child = spawn(process.execPath, args);
|
||
|
|
|
||
|
|
child.stdout.pipe(process.stdout, {end: false});
|
||
|
|
child.stderr.pipe(process.stderr, {end: false});
|
||
|
|
|
||
|
|
return child;
|
||
|
|
};
|
||
|
|
|
||
|
|
// sanity check that a no daemon process exits
|
||
|
|
test('no daemon', function(done) {
|
||
|
|
var script = __dirname + '/fixtures/nodaemon.js';
|
||
|
|
var child = launch([script]);
|
||
|
|
child.on('exit', function(code) {
|
||
|
|
assert.equal(code, 0);
|
||
|
|
done();
|
||
|
|
});
|
||
|
|
});
|
||
|
|
|
||
|
|
test('simple', function(done) {
|
||
|
|
var script = __dirname + '/fixtures/simple.js';
|
||
|
|
|
||
|
|
done = after(2, done);
|
||
|
|
var port = 12345;
|
||
|
|
|
||
|
|
var child = launch([script, port]);
|
||
|
|
|
||
|
|
child.stdout.pipe(process.stdout, {end: false});
|
||
|
|
child.stderr.pipe(process.stderr, {end: false});
|
||
|
|
|
||
|
|
// spawning child should exit
|
||
|
|
child.on('exit', function(code) {
|
||
|
|
assert.equal(code, 0);
|
||
|
|
done();
|
||
|
|
});
|
||
|
|
|
||
|
|
// wait for http server to start up
|
||
|
|
setTimeout(function() {
|
||
|
|
var opt = {
|
||
|
|
host: 'localhost',
|
||
|
|
port: port
|
||
|
|
};
|
||
|
|
|
||
|
|
http.get(opt, function(res) {
|
||
|
|
res.setEncoding('utf8');
|
||
|
|
res.on('data', function(chunk) {
|
||
|
|
process.kill(chunk, 'SIGTERM');
|
||
|
|
done();
|
||
|
|
});
|
||
|
|
});
|
||
|
|
}, 500);
|
||
|
|
});
|
||
|
|
|