Files
bun.sh/test/cli/run/cjs-fixture-leak-small.js
2025-06-03 02:32:15 -07:00

37 lines
682 B
JavaScript
Generated

const dest = require.resolve("./leak-fixture-small-ast.js");
let gc = globalThis.gc;
if (typeof Bun !== "undefined") {
gc = () => Bun.gc(true);
}
if (!gc) {
gc = () => {};
}
gc();
for (let i = 0; i < 5; i++) {
delete require.cache[dest];
require(dest);
}
gc();
const baseline = process.memoryUsage.rss();
for (let i = 0; i < 10000; i++) {
delete require.cache[dest];
require(dest);
}
gc();
setTimeout(() => {
let diff = process.memoryUsage.rss() - baseline;
diff = (diff / 1024 / 1024) | 0;
console.log({ leaked: diff + " MB" });
if (diff > 48) {
console.log("\n--fail--\n");
process.exit(1);
} else {
console.log("\n--pass--\n");
}
}, 16);