summaryrefslogtreecommitdiff
path: root/test/js-native-api/test_reference/test_finalizer.js
blob: b70582fd0342fe0bef34e7f39ebbf25fdf06c3f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
'use strict';
// Flags: --expose-gc --force-node-api-uncaught-exceptions-policy

const common = require('../../common');
const test_reference = require(`./build/${common.buildType}/test_reference`);
const assert = require('assert');

process.on('uncaughtException', common.mustCall((err) => {
  assert.throws(() => { throw err; }, /finalizer error/);
}));

(async function() {
  {
    test_reference.createExternalWithJsFinalize(
      common.mustCall(() => {
        throw new Error('finalizer error');
      }));
  }
  global.gc();
})().then(common.mustCall());