UNPKG

koffi

Version:

Fast and simple C FFI (foreign function interface) for Node.js

39 lines (30 loc) 1.14 kB
'use strict'; const { promisify } = require('util'); const exec = promisify(require('child_process').exec); const { copy, remove } = require('fs-extra'); const path = require('path'); const assert = require('assert'); async function test () { const addon = 'require-basic-finalizers'; const ADDON_FOLDER = path.join(__dirname, 'addons', addon); await remove(ADDON_FOLDER); await copy(path.join(__dirname, 'tpl'), ADDON_FOLDER); console.log(' >Building addon'); // Fail when NODE_ADDON_API_REQUIRE_BASIC_FINALIZERS is enabled await assert.rejects(exec('npm --require-basic-finalizers install', { cwd: ADDON_FOLDER }), 'Addon unexpectedly compiled successfully'); // Succeed when NODE_ADDON_API_REQUIRE_BASIC_FINALIZERS is not enabled return assert.doesNotReject(exec('npm install', { cwd: ADDON_FOLDER })); } module.exports = (function () { // This test will only run under an experimental version test. const isExperimental = Number(process.env.NAPI_VERSION) === 2147483647; if (isExperimental) { return test(); } else { console.log(' >Skipped (non-experimental test run)'); } })();