From da3e7160a160be882da58b3f835b105fe5d618bf Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Mon, 7 Oct 2024 22:48:55 -0700 Subject: [PATCH] Test --- test/regression/issue/04298/04298.fixture.js | 6 ++++-- test/regression/issue/04298/04298.test.ts | 5 ++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/test/regression/issue/04298/04298.fixture.js b/test/regression/issue/04298/04298.fixture.js index 77161560d6..6c8374ce42 100644 --- a/test/regression/issue/04298/04298.fixture.js +++ b/test/regression/issue/04298/04298.fixture.js @@ -5,11 +5,13 @@ const server = createServer((req, res) => { throw new Error("Oops!"); }); -server.listen({ port: 0 }, async (err, host, port) => { +server.listen({ port: 0 }, async err => { + const { port, address: host } = server.address(); if (err) { console.error(err); process.exit(1); } const hostname = isIPv6(host) ? `[${host}]` : host; - process.send(`http://${hostname}:${port}/`); + + (process?.connected ? process.send : console.log)(`http://${hostname}:${port}/`); }); diff --git a/test/regression/issue/04298/04298.test.ts b/test/regression/issue/04298/04298.test.ts index ea41f5bcce..d4def85028 100644 --- a/test/regression/issue/04298/04298.test.ts +++ b/test/regression/issue/04298/04298.test.ts @@ -2,13 +2,13 @@ import { spawn } from "bun"; import { expect, test } from "bun:test"; import { bunEnv, bunExe } from "harness"; -test("node:http should not crash when server throws", async () => { +test("node:http should not crash when server throws, and should abruptly close the socket", async () => { const { promise, resolve, reject } = Promise.withResolvers(); await using server = spawn({ cwd: import.meta.dirname, cmd: [bunExe(), "04298.fixture.js"], env: bunEnv, - stderr: "pipe", + stderr: "inherit", ipc(url) { resolve(url); }, @@ -20,5 +20,4 @@ test("node:http should not crash when server throws", async () => { }); const url = await promise; const response = await fetch(url); - expect(response.status).toBe(500); });