Files
Kmake/test/addons/uv-handle-leak/test.js

26 lines
853 B
JavaScript
Raw Normal View History

2026-05-26 23:36:42 -07:00
'use strict';
const common = require('../../common');
const bindingPath = require.resolve(`./build/${common.buildType}/binding`);
const binding = require(bindingPath);
// This tests checks that addons may leak libuv handles until process exit.
// Its really not a good idea to do so, but it tests existing behaviour
// that likely can never be removed for backwards compatibility.
// This has a sibling test in test/abort/ which checks output for failures
// from workers.
try {
// We dont want to run this in Workers because they do actually enforce
// a clean-exit policy.
const { isMainThread } = require('worker_threads');
if (!isMainThread)
common.skip('Cannot run test in environment with clean-exit policy');
} catch {
// Continue regardless of error.
}
binding.leakHandle();
binding.leakHandle(0);
binding.leakHandle(1);