mirror of https://github.com/nodejs/node.git
28 lines
899 B
JavaScript
28 lines
899 B
JavaScript
'use strict';
|
|
|
|
// This tests heap snapshot integration of worker.
|
|
|
|
require('../common');
|
|
const { validateByRetainingPath } = require('../common/heap');
|
|
const { Worker } = require('worker_threads');
|
|
const assert = require('assert');
|
|
|
|
// Before worker is used, no MessagePort should be created.
|
|
{
|
|
const nodes = validateByRetainingPath('Node / Worker', []);
|
|
assert.strictEqual(nodes.length, 0);
|
|
}
|
|
|
|
const worker = new Worker('setInterval(() => {}, 100);', { eval: true });
|
|
// When a worker is alive, a Worker instance and its message port should be captured.
|
|
{
|
|
validateByRetainingPath('Node / Worker', [
|
|
{ node_name: 'Worker', edge_name: 'native_to_javascript' },
|
|
{ node_name: 'MessagePort', edge_name: 'messagePort' },
|
|
{ node_name: 'Node / MessagePort', edge_name: 'javascript_to_native' },
|
|
{ node_name: 'Node / MessagePortData', edge_name: 'data' },
|
|
]);
|
|
}
|
|
|
|
worker.terminate();
|