diff options
Diffstat (limited to 'test/cli/run/require-cache-bug-leak-fixture.js')
-rw-r--r-- | test/cli/run/require-cache-bug-leak-fixture.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/test/cli/run/require-cache-bug-leak-fixture.js b/test/cli/run/require-cache-bug-leak-fixture.js new file mode 100644 index 000000000..f3b334d26 --- /dev/null +++ b/test/cli/run/require-cache-bug-leak-fixture.js @@ -0,0 +1,27 @@ +const dest = require.resolve("./require-cache-bug-leak-fixture-large-ast.js"); + +if (typeof Bun !== "undefined") Bun.gc(true); +for (let i = 0; i < 5; i++) { + delete require.cache[dest]; + require(dest); +} +if (typeof Bun !== "undefined") Bun.gc(true); +const baseline = process.memoryUsage.rss(); + +for (let i = 0; i < 50; i++) { + delete require.cache[dest]; + require(dest); +} +if (typeof Bun !== "undefined") Bun.gc(true); + +setTimeout(() => { + let diff = process.memoryUsage.rss() - baseline; + diff = (diff / 1024 / 1024) | 0; + console.log({ leaked: diff + " MB" }); + if (diff > 120) { + console.log("\n--fail--\n"); + process.exit(1); + } else { + console.log("\n--pass--\n"); + } +}, 16); |