forked from nodejs/node
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_finalizer.js
More file actions
25 lines (22 loc) · 778 Bytes
/
test_finalizer.js
File metadata and controls
25 lines (22 loc) · 778 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
'use strict';
// Flags: --expose-gc --force-node-api-uncaught-exceptions-policy
const common = require('../../common');
const binding = require(`./build/${common.buildType}/test_finalizer`);
const assert = require('assert');
const tick = require('util').promisify(require('../../common/tick'));
process.on('uncaughtException', common.mustCall((err) => {
assert.throws(() => { throw err; }, /finalizer error/);
}));
(async function() {
{
binding.malignFinalizerBuffer(common.mustCall(() => {
throw new Error('finalizer error');
}));
}
global.gc({ type: 'minor' });
await tick(common.platformTimeout(100));
global.gc();
await tick(common.platformTimeout(100));
global.gc();
await tick(common.platformTimeout(100));
})().then(common.mustCall());