From c863c7768571447a28e9032cbccf079bdfc06225 Mon Sep 17 00:00:00 2001 From: Lam Wei Li Date: Tue, 15 Mar 2022 16:39:08 +0800 Subject: [PATCH] chore(test): updated file-sighup-test.js teardown() to reinstate warning listener --- test/tap/file-sighup-test.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/test/tap/file-sighup-test.js b/test/tap/file-sighup-test.js index 71524f0..deb612a 100644 --- a/test/tap/file-sighup-test.js +++ b/test/tap/file-sighup-test.js @@ -14,11 +14,15 @@ test("file appender single SIGHUP handler", t => { const initialListeners = process.listenerCount("SIGHUP"); let warning; + const originalListener = process.listeners("warning")[process.listeners("warning").length - 1]; const warningListener = error => { if (error.type === "SIGHUP" && error.name === "MaxListenersExceededWarning") { warning = error; + return; } + originalListener(error); }; + process.off("warning", originalListener); process.on("warning", warningListener); const config = { @@ -39,12 +43,16 @@ test("file appender single SIGHUP handler", t => { log4js.configure(config); t.teardown(async () => { + // next event loop so that past warnings will not be printed + setImmediate(() => { + process.off("warning", warningListener); + process.on("warning", originalListener); + }); + await new Promise(resolve => { log4js.shutdown(resolve); }); const filenames = Object.values(config.appenders).map(appender => appender.filename); await removeFiles(filenames); - - process.off("warning", warningListener); }); t.plan(2);