mirror of
https://github.com/nodejs/node.git
synced 2025-04-29 14:25:18 +00:00

This ports `test/addons/worker-buffer-callback` to N-API, with the small exception of using external `ArrayBuffer`s rather than external Node.js `Buffer`s. PR-URL: https://github.com/nodejs/node/pull/30551 Reviewed-By: Gabriel Schulhof <gabriel.schulhof@intel.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Denys Otrishko <shishugi@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
18 lines
617 B
JavaScript
18 lines
617 B
JavaScript
'use strict';
|
|
const common = require('../../common');
|
|
const path = require('path');
|
|
const assert = require('assert');
|
|
const { Worker } = require('worker_threads');
|
|
const binding = path.resolve(__dirname, `./build/${common.buildType}/binding`);
|
|
const { getFreeCallCount } = require(binding);
|
|
|
|
// Test that buffers allocated with a free callback through our APIs are
|
|
// released when a Worker owning it exits.
|
|
|
|
const w = new Worker(`require(${JSON.stringify(binding)})`, { eval: true });
|
|
|
|
assert.strictEqual(getFreeCallCount(), 0);
|
|
w.on('exit', common.mustCall(() => {
|
|
assert.strictEqual(getFreeCallCount(), 1);
|
|
}));
|