mirror of
https://github.com/oven-sh/bun
synced 2026-02-02 15:08:46 +00:00
Change node-http test so it doesn't emit annotation
This commit is contained in:
@@ -983,24 +983,6 @@ describe("node:http", () => {
|
||||
});
|
||||
});
|
||||
|
||||
test("test server internal error, issue#4298", done => {
|
||||
const server = createServer((req, res) => {
|
||||
throw Error("throw an error here.");
|
||||
});
|
||||
server.listen({ port: 0 }, async (_err, host, port) => {
|
||||
try {
|
||||
await fetch(`http://${host}:${port}`).then(res => {
|
||||
expect(res.status).toBe(500);
|
||||
done();
|
||||
});
|
||||
} catch (err) {
|
||||
done(err);
|
||||
} finally {
|
||||
server.close();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
test("test unix socket server", done => {
|
||||
const socketPath = `${tmpdir()}/bun-server-${Math.random().toString(32)}.sock`;
|
||||
const server = createServer((req, res) => {
|
||||
|
||||
15
test/regression/issue/04298/04298.fixture.js
Normal file
15
test/regression/issue/04298/04298.fixture.js
Normal file
@@ -0,0 +1,15 @@
|
||||
import { createServer } from "node:http";
|
||||
import { isIPv6 } from "node:net";
|
||||
|
||||
const server = createServer((req, res) => {
|
||||
throw new Error("Oops!");
|
||||
});
|
||||
|
||||
server.listen({ port: 0 }, async (err, host, port) => {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
process.exit(1);
|
||||
}
|
||||
const hostname = isIPv6(host) ? `[${host}]` : host;
|
||||
process.send(`http://${hostname}:${port}/`);
|
||||
});
|
||||
24
test/regression/issue/04298/04298.test.ts
Normal file
24
test/regression/issue/04298/04298.test.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import { test, expect } from "bun:test";
|
||||
import { spawn } from "bun";
|
||||
import { bunExe, bunEnv } from "harness";
|
||||
|
||||
test("node:http should not crash when server throws", async () => {
|
||||
const { promise, resolve, reject } = Promise.withResolvers();
|
||||
await using server = spawn({
|
||||
cwd: import.meta.dirname,
|
||||
cmd: [bunExe(), "04298.fixture.js"],
|
||||
env: bunEnv,
|
||||
stderr: "pipe",
|
||||
ipc(url) {
|
||||
resolve(url);
|
||||
},
|
||||
onExit(exitCode, signalCode) {
|
||||
if (signalCode || exitCode !== 0) {
|
||||
reject(new Error(`process exited with code ${signalCode || exitCode}`));
|
||||
}
|
||||
},
|
||||
});
|
||||
const url = await promise;
|
||||
const response = await fetch(url);
|
||||
expect(response.status).toBe(500);
|
||||
});
|
||||
Reference in New Issue
Block a user