forked from LeenkxTeam/Kmake
26 lines
853 B
JavaScript
26 lines
853 B
JavaScript
|
|
'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.
|
|||
|
|
// It’s 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 don’t 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);
|