mirror of
https://github.com/oven-sh/bun
synced 2026-02-09 18:38:55 +00:00
25 lines
688 B
TypeScript
25 lines
688 B
TypeScript
import { expect, test } from "bun:test";
|
|
|
|
async function spawn() {
|
|
const proc = Bun.spawn(["cat", import.meta.path], {
|
|
stdio: ["ignore", "ignore", "pipe"],
|
|
});
|
|
await proc.exited;
|
|
}
|
|
|
|
async function spawn100() {
|
|
return Promise.all(new Array(100).fill(0).map(v => spawn()));
|
|
}
|
|
|
|
test("does not leak", async () => {
|
|
const before = process.memoryUsage().rss;
|
|
console.log("before", (before / 1024 / 1024).toFixed(3), "MB");
|
|
for (let index = 0; index < 200; index++) {
|
|
await spawn100();
|
|
Bun.gc(true);
|
|
}
|
|
const after = process.memoryUsage().rss;
|
|
console.log("after", (after / 1024 / 1024).toFixed(3), "MB");
|
|
expect(before + after).toBeLessThan(before * 3);
|
|
}, 0);
|