From 06583f268b70f4a9715e4b747b1557055c419086 Mon Sep 17 00:00:00 2001 From: Islam ElHakmi Date: Fri, 10 Apr 2020 14:54:26 +0200 Subject: [PATCH] fix: do not swallow errors from server (#2512) --- lib/Server.js | 4 ++++ test/server/Server.test.js | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/lib/Server.js b/lib/Server.js index 611f0c2045..5c03d45ae1 100644 --- a/lib/Server.js +++ b/lib/Server.js @@ -687,6 +687,10 @@ class Server { } else { this.listeningApp = http.createServer(this.app); } + + this.listeningApp.on('error', (err) => { + this.log.error(err); + }); } createSocketServer() { diff --git a/test/server/Server.test.js b/test/server/Server.test.js index ca041b7795..518de50e92 100644 --- a/test/server/Server.test.js +++ b/test/server/Server.test.js @@ -76,6 +76,16 @@ describe('Server', () => { }); }); + it('test listeningApp error reporting', () => { + const logMock = jest.fn(); + const compiler = webpack(config); + const server = new Server(compiler, baseDevConfig); + + server.log.error = logMock; + + server.listeningApp.emit('error', new Error('Error !!!')); + expect(server.log.error).toBeCalledWith(new Error('Error !!!')); + }); // issue: https://github.com/webpack/webpack-dev-server/issues/1724 describe('express.static.mine.types', () => { it("should success even if mine.types doesn't exist", (done) => {