mirror of
https://github.com/mgerb/mywebsite
synced 2026-01-12 10:52:47 +00:00
Added files
This commit is contained in:
93
node_modules/forever/test/helpers/macros.js
generated
vendored
Normal file
93
node_modules/forever/test/helpers/macros.js
generated
vendored
Normal file
@@ -0,0 +1,93 @@
|
||||
/*
|
||||
* macros.js: Test macros for the forever module
|
||||
*
|
||||
* (C) 2010 Charlie Robbins & the Contributors
|
||||
* MIT LICENCE
|
||||
*
|
||||
*/
|
||||
|
||||
var assert = require('assert'),
|
||||
path = require('path'),
|
||||
spawn = require('child_process').spawn,
|
||||
nssocket = require('nssocket'),
|
||||
forever = require('../../lib/forever'),
|
||||
Worker = require('../../lib/forever/worker').Worker;
|
||||
|
||||
var macros = exports;
|
||||
|
||||
macros.assertTimes = function (script, times, options) {
|
||||
options.max = times;
|
||||
|
||||
return {
|
||||
topic: function () {
|
||||
var child = new (forever.Monitor)(script, options);
|
||||
child.on('exit', this.callback.bind({}, null));
|
||||
child.start();
|
||||
},
|
||||
"should emit 'exit' when completed": function (err, child) {
|
||||
assert.equal(child.times, times);
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
macros.spawn = function (args, options) {
|
||||
options.topic = function () {
|
||||
var self = this;
|
||||
|
||||
args = [path.join(__dirname, '..', 'bin', 'forever')].concat(args);
|
||||
|
||||
var child = spawn(process.argv[0], args),
|
||||
stdout = '',
|
||||
stderr = '';
|
||||
|
||||
child.stdout.on('data', function (data) {
|
||||
stdout += data;
|
||||
});
|
||||
child.stderr.on('data', function (data) {
|
||||
stderr += data;
|
||||
});
|
||||
child.once('exit', function (exitCode) {
|
||||
//
|
||||
// Remark: We wait 200 ms because of forever boot up time (master
|
||||
// doesn't wait for slave to start up after it's forked, it just quits)
|
||||
//
|
||||
setTimeout(function () {
|
||||
self.callback(null, exitCode, stdout, stderr);
|
||||
}, 200);
|
||||
});
|
||||
};
|
||||
return options;
|
||||
};
|
||||
|
||||
macros.list = function (options) {
|
||||
options.topic = function () {
|
||||
forever.list(false, this.callback);
|
||||
};
|
||||
return options;
|
||||
};
|
||||
|
||||
macros.assertStartsWith = function (string, substring) {
|
||||
assert.equal(string.slice(0, substring.length), substring);
|
||||
};
|
||||
|
||||
macros.assertList = function (list) {
|
||||
assert.isNotNull(list);
|
||||
assert.lengthOf(list, 1);
|
||||
};
|
||||
|
||||
macros.assertWorkerConnected = function (workerOptions, batch) {
|
||||
return {
|
||||
topic: function () {
|
||||
var self = this,
|
||||
reader = new nssocket.NsSocket(),
|
||||
worker = new Worker(workerOptions);
|
||||
|
||||
worker.start(function (err, sock) {
|
||||
reader.connect(sock, function () {
|
||||
self.callback(null, reader, worker, workerOptions);
|
||||
});
|
||||
});
|
||||
},
|
||||
'worker should connect': batch
|
||||
};
|
||||
};
|
||||
12
node_modules/forever/test/helpers/mocks/child-process.js
generated
vendored
Normal file
12
node_modules/forever/test/helpers/mocks/child-process.js
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
var util = require('util'),
|
||||
EventEmitter2 = require('eventemitter2').EventEmitter2,
|
||||
StreamMock = require('./stream').StreamMock;
|
||||
|
||||
var ChildProcessMock = exports.ChildProcessMock = function () {
|
||||
EventEmitter2.call(this);
|
||||
|
||||
this.stdout = new StreamMock();
|
||||
this.stderr = new StreamMock();
|
||||
};
|
||||
util.inherits(ChildProcessMock, EventEmitter2);
|
||||
|
||||
25
node_modules/forever/test/helpers/mocks/monitor.js
generated
vendored
Normal file
25
node_modules/forever/test/helpers/mocks/monitor.js
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
var util = require('util'),
|
||||
broadway = require('broadway'),
|
||||
ChildProcessMock = require('./child-process').ChildProcessMock;
|
||||
|
||||
var MonitorMock = exports.MonitorMock = function (options) {
|
||||
broadway.App.call(this, options);
|
||||
|
||||
this.child = new ChildProcessMock();
|
||||
this.running = false;
|
||||
};
|
||||
util.inherits(MonitorMock, broadway.App);
|
||||
|
||||
MonitorMock.prototype.__defineGetter__('data', function () {
|
||||
return {
|
||||
uid: '_uid',
|
||||
command: 'node'
|
||||
};
|
||||
});
|
||||
|
||||
MonitorMock.prototype.kill = MonitorMock.prototype.stop = function (forceStop) {
|
||||
this.running = false;
|
||||
|
||||
this.emit('stop');
|
||||
};
|
||||
|
||||
19
node_modules/forever/test/helpers/mocks/stream.js
generated
vendored
Normal file
19
node_modules/forever/test/helpers/mocks/stream.js
generated
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
var util = require('util'),
|
||||
EventEmitter2 = require('eventemitter2').EventEmitter2;
|
||||
|
||||
var StreamMock = exports.StreamMock = function () {
|
||||
EventEmitter2.call(this);
|
||||
|
||||
this.contents = [];
|
||||
this.closed = false;
|
||||
};
|
||||
util.inherits(StreamMock, EventEmitter2);
|
||||
|
||||
StreamMock.prototype.write = function (data) {
|
||||
this.contents.push(data);
|
||||
};
|
||||
|
||||
StreamMock.prototype.close = StreamMock.prototype.end = function () {
|
||||
this.closed = true;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user