1 var common = require('../common');
2 var assert = require('assert');
3 var cluster = require('cluster');
5 if (cluster.isWorker) {
7 // Just keep the worker alive
8 process.send(process.argv[2]);
10 } else if (cluster.isMaster) {
22 args: ['custom argument'],
26 cluster.once('setup', function() {
27 checks.setupEvent = true;
29 var settings = cluster.settings;
31 settings.args && settings.args[0] === 'custom argument' &&
32 settings.silent === true &&
33 settings.exec === process.argv[1]) {
34 checks.settingsObject = true;
40 cluster.on('online', function lisenter(worker) {
42 worker.once('message', function(data) {
43 correctIn += (data === 'custom argument' ? 1 : 0);
44 if (correctIn === totalWorkers) {
50 // All workers are online
51 if (cluster.onlineWorkers === totalWorkers) {
52 checks.workers = true;
61 process.once('exit', function() {
62 assert.ok(checks.args, 'The arguments was noy send to the worker');
63 assert.ok(checks.setupEvent, 'The setup event was never emitted');
64 var m = 'The settingsObject do not have correct properties';
65 assert.ok(checks.settingsObject, m);