Skip to content

Commit

Permalink
Merge pull request #1142 from log4js-node/update-test
Browse files Browse the repository at this point in the history
test: added assertion for increase of SIGHUP listeners on log4js.configure()
  • Loading branch information
lamweili committed Jan 17, 2022
2 parents 2a434f6 + 65e3eb8 commit 05935cc
Showing 1 changed file with 61 additions and 64 deletions.
125 changes: 61 additions & 64 deletions test/tap/file-sighup-test.js
Expand Up @@ -56,77 +56,74 @@ test("file appender single SIGHUP handler", t => {
}, 0);
});

// no SIGHUP signals on Windows, so don't run the tests
if (process.platform !== "win32") {

test("file appender SIGHUP", t => {
let closeCalled = 0;
let openCalled = 0;

const appender = sandbox
.require("../../lib/appenders/file", {
requires: {
streamroller: {
RollingFileStream: class RollingFileStream {
constructor() {
openCalled++;
this.ended = false;
}
test("file appender SIGHUP", t => {
let closeCalled = 0;
let openCalled = 0;

const appender = sandbox
.require("../../lib/appenders/file", {
requires: {
streamroller: {
RollingFileStream: class RollingFileStream {
constructor() {
openCalled++;
this.ended = false;
}

on() {
this.dummy = "easier than turning off lint rule";
}
on() {
this.dummy = "easier than turning off lint rule";
}

end(cb) {
this.ended = true;
closeCalled++;
cb();
}
end(cb) {
this.ended = true;
closeCalled++;
cb();
}

write() {
if (this.ended) {
throw new Error("write after end");
}
return true;
write() {
if (this.ended) {
throw new Error("write after end");
}
return true;
}
}
}
})
.configure(
{ type: "file", filename: "sighup-test-file" },
{
basicLayout() {
return "whatever";
}
}
})
.configure(
{ type: "file", filename: "sighup-test-file" },
{
basicLayout() {
return "whatever";
}
);

appender("something to log");
process.kill(process.pid, "SIGHUP");

t.plan(2);
setTimeout(() => {
appender("something to log after sighup");
t.equal(openCalled, 2, "open should be called twice");
t.equal(closeCalled, 1, "close should be called once");
t.end();
}, 100);
});
}
);

test("file appender SIGHUP handler leak", t => {
const log4js = require("../../lib/log4js");
const initialListeners = process.listenerCount("SIGHUP");
log4js.configure({
appenders: {
file: { type: "file", filename: "test.log" }
},
categories: { default: { appenders: ["file"], level: "info" } }
});
log4js.shutdown(() => {
t.equal(process.listenerCount("SIGHUP"), initialListeners);
t.end();
});
});
appender("something to log");
process.emit("SIGHUP", "SIGHUP", 1);

t.plan(2);
setTimeout(() => {
appender("something to log after sighup");
t.equal(openCalled, 2, "open should be called twice");
t.equal(closeCalled, 1, "close should be called once");
t.end();
}, 100);
});

}
test("file appender SIGHUP handler leak", t => {
const log4js = require("../../lib/log4js");
const initialListeners = process.listenerCount("SIGHUP");
log4js.configure({
appenders: {
file: { type: "file", filename: "test.log" }
},
categories: { default: { appenders: ["file"], level: "info" } }
});
t.plan(2);
t.equal(process.listenerCount("SIGHUP"), initialListeners + 1);
log4js.shutdown(() => {
t.equal(process.listenerCount("SIGHUP"), initialListeners);
t.end();
});
});

0 comments on commit 05935cc

Please sign in to comment.