chore(test): updated file-sighup-test.js teardown() to reinstate warning listener

This commit is contained in:
Lam Wei Li 2022-03-15 16:39:08 +08:00
parent dc6c1f46eb
commit c863c77685
No known key found for this signature in database
GPG Key ID: 90F6ABECF080D7BF

View File

@ -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);