1'use strict';
2const common = require('../common');
3const assert = require('assert');
4const { getHeapSnapshot } = require('v8');
5const { isMainThread, Worker } = require('worker_threads');
6
7// Checks taking heap snapshot at the exit event listener of Worker doesn't
8// crash the process.
9// Regression for https://github.com/nodejs/node/issues/43122.
10if (isMainThread) {
11  const worker = new Worker(__filename);
12
13  worker.once('exit', common.mustCall((code) => {
14    assert.strictEqual(code, 0);
15    getHeapSnapshot().pipe(process.stdout);
16  }));
17}
18