20
20
// USE OR OTHER DEALINGS IN THE SOFTWARE.
21
21
22
22
'use strict' ;
23
- require ( '../common' ) ;
23
+ const common = require ( '../common' ) ;
24
24
const assert = require ( 'assert' ) ;
25
25
const cluster = require ( 'cluster' ) ;
26
26
@@ -38,7 +38,7 @@ if (cluster.isWorker) {
38
38
} ;
39
39
40
40
const totalWorkers = 2 ;
41
- let onlineWorkers = 0 ;
41
+ let settings ;
42
42
43
43
// Setup master
44
44
cluster . setupMaster ( {
@@ -49,7 +49,7 @@ if (cluster.isWorker) {
49
49
cluster . once ( 'setup' , function ( ) {
50
50
checks . setupEvent = true ;
51
51
52
- const settings = cluster . settings ;
52
+ settings = cluster . settings ;
53
53
if ( settings &&
54
54
settings . args && settings . args [ 0 ] === 'custom argument' &&
55
55
settings . silent === true &&
@@ -58,37 +58,36 @@ if (cluster.isWorker) {
58
58
}
59
59
} ) ;
60
60
61
- let correctIn = 0 ;
61
+ let correctInput = 0 ;
62
62
63
- cluster . on ( 'online' , function lisenter ( worker ) {
64
-
65
- onlineWorkers ++ ;
63
+ cluster . on ( 'online' , common . mustCall ( function listener ( worker ) {
66
64
67
65
worker . once ( 'message' , function ( data ) {
68
- correctIn += ( data === 'custom argument' ? 1 : 0 ) ;
69
- if ( correctIn === totalWorkers ) {
66
+ correctInput += ( data === 'custom argument' ? 1 : 0 ) ;
67
+ if ( correctInput === totalWorkers ) {
70
68
checks . args = true ;
71
69
}
72
70
worker . kill ( ) ;
73
71
} ) ;
74
72
75
- // All workers are online
76
- if ( onlineWorkers === totalWorkers ) {
77
- checks . workers = true ;
78
- }
79
- } ) ;
73
+ } , totalWorkers ) ) ;
80
74
81
75
// Start all workers
82
76
cluster . fork ( ) ;
83
77
cluster . fork ( ) ;
84
78
85
79
// Check all values
86
80
process . once ( 'exit' , function ( ) {
87
- assert . ok ( checks . workers , 'Not all workers went online' ) ;
88
- assert . ok ( checks . args , 'The arguments was noy send to the worker' ) ;
81
+ const argsMsg = 'Arguments was not send for one or more worker. ' +
82
+ `${ correctInput } workers receive argument, ` +
83
+ `but ${ totalWorkers } were expected.` ;
84
+ assert . ok ( checks . args , argsMsg ) ;
85
+
89
86
assert . ok ( checks . setupEvent , 'The setup event was never emitted' ) ;
90
- const m = 'The settingsObject do not have correct properties' ;
91
- assert . ok ( checks . settingsObject , m ) ;
87
+
88
+ const settingObjectMsg = 'The settingsObject do not have correct ' +
89
+ `properties : ${ JSON . stringify ( settings ) } ` ;
90
+ assert . ok ( checks . settingsObject , settingObjectMsg ) ;
92
91
} ) ;
93
92
94
93
}
0 commit comments