From af3738216d3fa92f7a9c246db767827a0d0807b9 Mon Sep 17 00:00:00 2001 From: David Murdoch Date: Thu, 15 Dec 2022 17:14:15 -0500 Subject: [PATCH 1/3] add EADDRINUSE code to server Error --- src/packages/core/src/server.ts | 4 +++- src/packages/core/tests/server.test.ts | 11 ++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/packages/core/src/server.ts b/src/packages/core/src/server.ts index 45effb1b90..35f853d5ff 100644 --- a/src/packages/core/src/server.ts +++ b/src/packages/core/src/server.ts @@ -245,7 +245,9 @@ export class Server< `listen EADDRINUSE: address already in use ${ host || DEFAULT_HOST }:${portNumber}.` - ); + ) as any; + // emulate part of node's EADDRINUSE error: + err.code = "EADDRINUSE"; throw err; } }) diff --git a/src/packages/core/tests/server.test.ts b/src/packages/core/tests/server.test.ts index 09cab25b13..dbfa7db129 100644 --- a/src/packages/core/tests/server.test.ts +++ b/src/packages/core/tests/server.test.ts @@ -493,10 +493,10 @@ describe("server", () => { server.listen(port); try { - await assert.rejects( - setup(), - `Error: listen EADDRINUSE: address already in use 127.0.0.1:${port}.` - ); + await assert.rejects(setup(), { + message: `Error: listen EADDRINUSE: address already in use 127.0.0.1:${port}.`, + code: "EADDRINUSE" + }); } finally { await Promise.all([ teardown(), @@ -517,7 +517,8 @@ describe("server", () => { const s = Ganache.server(); const listen = promisify(s.listen.bind(s)); await assert.rejects(listen(port), { - message: `listen EADDRINUSE: address already in use 127.0.0.1:${port}.` + message: `listen EADDRINUSE: address already in use 127.0.0.1:${port}.`, + code: "EADDRINUSE" }); } finally { await Promise.all([ From fa9899886d66f9e1dc21637f5f466833069db902 Mon Sep 17 00:00:00 2001 From: David Murdoch <187813+davidmurdoch@users.noreply.github.com> Date: Thu, 15 Dec 2022 17:43:24 -0500 Subject: [PATCH 2/3] Update src/packages/core/tests/server.test.ts --- src/packages/core/tests/server.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/core/tests/server.test.ts b/src/packages/core/tests/server.test.ts index dbfa7db129..b1921ff7b4 100644 --- a/src/packages/core/tests/server.test.ts +++ b/src/packages/core/tests/server.test.ts @@ -494,7 +494,7 @@ describe("server", () => { try { await assert.rejects(setup(), { - message: `Error: listen EADDRINUSE: address already in use 127.0.0.1:${port}.`, + message: `listen EADDRINUSE: address already in use 127.0.0.1:${port}.`, code: "EADDRINUSE" }); } finally { From eadd8ab750c3627784c5273ef8dd74553127fc48 Mon Sep 17 00:00:00 2001 From: David Murdoch Date: Wed, 21 Dec 2022 16:58:12 -0500 Subject: [PATCH 3/3] add type to Error Co-authored-by: Jeff Smale <6363749+jeffsmale90@users.noreply.github.com> --- src/packages/core/src/server.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/core/src/server.ts b/src/packages/core/src/server.ts index 35f853d5ff..58df1e04c2 100644 --- a/src/packages/core/src/server.ts +++ b/src/packages/core/src/server.ts @@ -245,7 +245,7 @@ export class Server< `listen EADDRINUSE: address already in use ${ host || DEFAULT_HOST }:${portNumber}.` - ) as any; + ) as NodeJS.ErrnoException; // emulate part of node's EADDRINUSE error: err.code = "EADDRINUSE"; throw err;