diff options
| author | 2023-05-22 10:09:30 -0700 | |
|---|---|---|
| committer | 2023-05-22 10:09:30 -0700 | |
| commit | 1f0dfacc0de4482e8259e887451f1ad7c9778934 (patch) | |
| tree | aaa0fc550e6a501729d3d5d11ab7b635c435d5ef /test/js/web/fetch/fetch-leak-test-fixture-2.js | |
| parent | 7e17a91a1c20f5411f390d3c14c937bf87409390 (diff) | |
| download | bun-1f0dfacc0de4482e8259e887451f1ad7c9778934.tar.gz bun-1f0dfacc0de4482e8259e887451f1ad7c9778934.tar.zst bun-1f0dfacc0de4482e8259e887451f1ad7c9778934.zip | |
Fix memory leak in `fetch(url)` (#2989)
* Fix memory leak in `fetch(url)`
* Bump those numbers up
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Diffstat (limited to 'test/js/web/fetch/fetch-leak-test-fixture-2.js')
| -rw-r--r-- | test/js/web/fetch/fetch-leak-test-fixture-2.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/test/js/web/fetch/fetch-leak-test-fixture-2.js b/test/js/web/fetch/fetch-leak-test-fixture-2.js new file mode 100644 index 000000000..7379b1b7b --- /dev/null +++ b/test/js/web/fetch/fetch-leak-test-fixture-2.js @@ -0,0 +1,26 @@ +import { heapStats } from "bun:jsc"; + +const { SERVER } = process.env; + +if (typeof SERVER === "undefined" || !SERVER?.length) { + throw new Error("SERVER environment variable is not set"); +} + +const COUNT = parseInt(process.env.COUNT || "20", 10); +var oks = 0; +await (async function runAll() { + for (let j = 0; j < COUNT; j++) { + oks += (await fetch(SERVER)).ok; + } +})(); + +if (oks !== COUNT) { + throw new Error("Not all requests succeeded"); +} + +await Bun.sleep(10); +Bun.gc(true); + +if ((heapStats().objectTypeCounts.Response ?? 0) > 5) { + throw new Error("Too many Response objects: " + heapStats().objectTypeCounts.Response); +} |
