summaryrefslogtreecommitdiff
path: root/test/parallel/test-worker-message-type-unknown.js
blob: 32f6c2a32bd6b4969c6ebee8ddcefcf9c45e8932 (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
'use strict';

// Check that main thread handles an unknown message type from a worker thread
// as expected.

require('../common');

const assert = require('assert');
const { spawnSync } = require('child_process');

const { Worker } = require('worker_threads');
if (process.argv[2] !== 'spawned') {
  const result = spawnSync(process.execPath,
                           [ '--expose-internals', __filename, 'spawned'],
                           { encoding: 'utf8' });
  assert.ok(result.stderr.includes('Unknown worker message type FHQWHGADS'),
            `Expected error not found in: ${result.stderr}`);
} else {
  new Worker(`
    const { internalBinding } = require('internal/test/binding');
    const { getEnvMessagePort } = internalBinding('worker');
    const messagePort = getEnvMessagePort();
    messagePort.postMessage({ type: 'FHQWHGADS' });
    `, { eval: true });
}