node/test/parallel/test-child-process-internal.js

32 lines
725 B
JavaScript

'use strict';
const 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']);
child.once('message', common.mustCall(function(data) {
assert.deepStrictEqual(data, normal);
}));
child.once('internalMessage', common.mustCall(function(data) {
assert.deepStrictEqual(data, internal);
}));
}