Welcome to mirror list, hosted at ThFree Co, Russian Federation.

test-child-process-internal.js « parallel « test - github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: a1bb52f4b71185675ce06b33b756e6bd1ae8ccf4 (plain)
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
var common = require('../common');
var assert = require('assert');

//messages
var PREFIX = 'NODE_';
var normal = {cmd: 'foo' + PREFIX};
var internal = {cmd: PREFIX + 'bar'};

if (process.argv[2] === 'child') {
  //send non-internal message containing PREFIX at a non prefix position
  process.send(normal);

  //send inernal message
  process.send(internal);

  process.exit(0);

} else {

  var fork = require('child_process').fork;
  var child = fork(process.argv[1], ['child']);

  var gotNormal;
  child.once('message', function(data) {
    gotNormal = data;
  });

  var gotInternal;
  child.once('internalMessage', function(data) {
    gotInternal = data;
  });

  process.on('exit', function() {
    assert.deepEqual(gotNormal, normal);
    assert.deepEqual(gotInternal, internal);
  });
}