test: cluster-setup-master online workers check
Previously a `checks.workers` boolean was conditionally set, but never checked. Additionally, it was never actually set because `cluster.onlineWorkers` is always undefined. PR-URL: https://github.com/nodejs/node/pull/6535 Reviewed-By: Anna Henningsen <anna@addaleax.net>
This commit is contained in:
parent
377eb22bf5
commit
149bea0fc4
@ -17,6 +17,7 @@ if (cluster.isWorker) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
var totalWorkers = 2;
|
var totalWorkers = 2;
|
||||||
|
var onlineWorkers = 0;
|
||||||
|
|
||||||
// Setup master
|
// Setup master
|
||||||
cluster.setupMaster({
|
cluster.setupMaster({
|
||||||
@ -40,6 +41,8 @@ if (cluster.isWorker) {
|
|||||||
|
|
||||||
cluster.on('online', function lisenter(worker) {
|
cluster.on('online', function lisenter(worker) {
|
||||||
|
|
||||||
|
onlineWorkers++;
|
||||||
|
|
||||||
worker.once('message', function(data) {
|
worker.once('message', function(data) {
|
||||||
correctIn += (data === 'custom argument' ? 1 : 0);
|
correctIn += (data === 'custom argument' ? 1 : 0);
|
||||||
if (correctIn === totalWorkers) {
|
if (correctIn === totalWorkers) {
|
||||||
@ -49,7 +52,7 @@ if (cluster.isWorker) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// All workers are online
|
// All workers are online
|
||||||
if (cluster.onlineWorkers === totalWorkers) {
|
if (onlineWorkers === totalWorkers) {
|
||||||
checks.workers = true;
|
checks.workers = true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -60,6 +63,7 @@ if (cluster.isWorker) {
|
|||||||
|
|
||||||
// Check all values
|
// Check all values
|
||||||
process.once('exit', function() {
|
process.once('exit', function() {
|
||||||
|
assert.ok(checks.workers, 'Not all workers went online');
|
||||||
assert.ok(checks.args, 'The arguments was noy send to the worker');
|
assert.ok(checks.args, 'The arguments was noy send to the worker');
|
||||||
assert.ok(checks.setupEvent, 'The setup event was never emitted');
|
assert.ok(checks.setupEvent, 'The setup event was never emitted');
|
||||||
var m = 'The settingsObject do not have correct properties';
|
var m = 'The settingsObject do not have correct properties';
|
||||||
|
Loading…
x
Reference in New Issue
Block a user