// Flags: --experimental-vm-modules --max-old-space-size=16 --trace-gc 'use strict'; // This tests that vm.SourceTextModule() does not leak. // See: https://github.com/nodejs/node/issues/33439 const common = require('../common'); const { checkIfCollectableByCounting } = require('../common/gc'); const vm = require('vm'); const outer = 32; const inner = 128; checkIfCollectableByCounting(async (i) => { for (let j = 0; j < inner; j++) { // Try to reach the maximum old space size. const m = new vm.SourceTextModule(` const bar = new Array(512).fill("----"); export { bar }; `); await m.link(() => {}); await m.evaluate(); } return inner; }, vm.SourceTextModule, outer).then(common.mustCall());