25 lines
721 B
JavaScript
25 lines
721 B
JavaScript
'use strict';
|
|
|
|
// Flags: --expose-internals
|
|
|
|
// Check that main thread handles unserializable errors in a worker thread as
|
|
// expected.
|
|
|
|
const common = require('../common');
|
|
|
|
const assert = require('assert');
|
|
|
|
const { Worker } = require('worker_threads');
|
|
|
|
const worker = new Worker(`
|
|
const { internalBinding } = require('internal/test/binding');
|
|
const { getEnvMessagePort } = internalBinding('worker');
|
|
const { messageTypes } = require('internal/worker/io');
|
|
const messagePort = getEnvMessagePort();
|
|
messagePort.postMessage({ type: messageTypes.COULD_NOT_SERIALIZE_ERROR });
|
|
`, { eval: true });
|
|
|
|
worker.on('error', common.mustCall((e) => {
|
|
assert.strictEqual(e.code, 'ERR_WORKER_UNSERIALIZABLE_ERROR');
|
|
}));
|