diff --git a/test/parallel/test-worker-environmentdata.js b/test/parallel/test-worker-environmentdata.js index cac97b746acef8..aef0e1213ff6af 100644 --- a/test/parallel/test-worker-environmentdata.js +++ b/test/parallel/test-worker-environmentdata.js @@ -1,4 +1,5 @@ 'use strict'; +// Flags: --expose-internals require('../common'); const { @@ -8,6 +9,8 @@ const { threadId, } = require('worker_threads'); +const { assignEnvironmentData } = require('internal/worker'); + const { deepStrictEqual, strictEqual, @@ -26,6 +29,8 @@ if (!process.env.HAS_STARTED_WORKER) { strictEqual(getEnvironmentData('foo'), 'bar'); deepStrictEqual(getEnvironmentData('hello'), { value: 'world' }); strictEqual(getEnvironmentData(1), undefined); + assignEnvironmentData(undefined); // It won't setup any key. + strictEqual(getEnvironmentData(undefined), undefined); // Recurse to make sure the environment data is inherited if (threadId <= 2) diff --git a/test/parallel/test-worker-heap-snapshot.js b/test/parallel/test-worker-heap-snapshot.js new file mode 100644 index 00000000000000..5358f2effca508 --- /dev/null +++ b/test/parallel/test-worker-heap-snapshot.js @@ -0,0 +1,16 @@ +'use strict'; + +const common = require('../common'); +const assert = require('assert'); +const { Worker } = require('worker_threads'); +const { once } = require('events'); + +// Ensure that worker.getHeapSnapshot() returns a valid JSON +(async () => { + const worker = new Worker('setInterval(() => {}, 1000);', { eval: true }); + await once(worker, 'online'); + const stream = await worker.getHeapSnapshot(); + assert.ok(JSON.parse(stream.read())); + + await worker.terminate(); +})().then(common.mustCall());