forked from nodejs/node
-
Notifications
You must be signed in to change notification settings - Fork 0
/
test-cluster-fork-env.js
42 lines (34 loc) · 1.02 KB
/
test-cluster-fork-env.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
'use strict';
require('../common');
var assert = require('assert');
var cluster = require('cluster');
if (cluster.isWorker) {
cluster.worker.send({
prop: process.env['cluster_test_prop'],
overwrite: process.env['cluster_test_overwrite']
});
} else if (cluster.isMaster) {
var checks = {
using: false,
overwrite: false
};
// To check that the cluster extend on the process.env we will overwrite a
// property
process.env['cluster_test_overwrite'] = 'old';
// Fork worker
var worker = cluster.fork({
'cluster_test_prop': 'custom',
'cluster_test_overwrite': 'new'
});
// Checks worker env
worker.on('message', function(data) {
checks.using = (data.prop === 'custom');
checks.overwrite = (data.overwrite === 'new');
process.exit(0);
});
process.once('exit', function() {
assert.ok(checks.using, 'The worker did not receive the correct env.');
assert.ok(checks.overwrite, 'The custom environment did not overwrite ' +
'the existing environment.');
});
}