Software: Apache. PHP/8.1.30 uname -a: Linux server1.tuhinhossain.com 5.15.0-163-generic #173-Ubuntu SMP Tue Oct 14 17:51:00 UTC uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root) Safe-mode: OFF (not secure) /home/picotech/domains/wa.picotech.app/public_html/node_modules/node-cleanup/tests/ drwxr-xr-x | |
| Viewing file: Select action/file-type: // tests in which spawned child installs a custom cleanup handler
var t = require('tap');
var lib = require('./lib/library');
t.test("single: normal child exit - true return", function (t) {
lib.test(t, {
child: 'groupable',
grandchild: false,
grandchildHeedsSIGINT: false,
messages: null,
exception: false,
skipTermination: false,
exitReturn: 'true'
}, function (childPID) {
// no signal
}, {
exitReason: 0,
stdout: "cleanup",
stderr: ""
});
});
t.test("single: normal child exit - undefined return", function (t) {
lib.test(t, {
child: 'groupable',
grandchild: false,
grandchildHeedsSIGINT: false,
messages: null,
exception: false,
skipTermination: false,
exitReturn: 'undefined'
}, function (childPID) {
// no signal
}, {
exitReason: 0,
stdout: "cleanup",
stderr: ""
});
});
t.test("single: normal grandchild exit", function (t) {
lib.test(t, {
child: 'groupable',
grandchild: true,
grandchildHeedsSIGINT: false,
messages: null,
exception: false,
skipTermination: false,
exitReturn: 'true'
}, function (childPID) {
// no signal
}, {
exitReason: 0,
stdout: "grandchild=0 cleanup",
stderr: ""
});
});
t.test("single: uncaught exception - custom message", function (t) {
lib.test(t, {
child: 'groupable',
grandchild: false,
grandchildHeedsSIGINT: false,
messages: {
uncaughtException: "Oh gosh look what happened:"
},
exception: true,
skipTermination: false,
exitReturn: 'true'
}, function (childPID) {
// no signal
}, {
exitReason: 1,
stdout: "cleanup",
stderr: /^Oh gosh look what happened:/
});
});
t.test("single: uncaught exception - no message", function (t) {
lib.test(t, {
child: 'groupable',
grandchild: false,
grandchildHeedsSIGINT: false,
messages: {
uncaughtException: ""
},
exception: true,
skipTermination: false,
exitReturn: 'true'
}, function (childPID) {
// no signal
}, {
exitReason: 1,
stdout: "cleanup",
stderr: /^Error: unexpected exception/
});
});
t.test("single: child SIGINT - true return, custom message", function (t) {
lib.test(t, {
child: 'groupable',
grandchild: false,
grandchildHeedsSIGINT: false,
messages: {
ctrl_C: "{^C}"
},
exception: false,
skipTermination: false,
exitReturn: 'true'
}, function (childPID) {
process.kill(childPID, 'SIGINT');
}, {
exitReason: 'SIGINT',
stdout: "cleanup",
stderr: "{^C}\n"
});
});
t.test("single: child SIGINT - undefined return, custom message",
function (t) {
lib.test(t, {
child: 'groupable',
grandchild: false,
grandchildHeedsSIGINT: false,
messages: {
ctrl_C: "{^C}"
},
exception: false,
skipTermination: false,
exitReturn: 'undefined'
}, function (childPID) {
process.kill(childPID, 'SIGINT');
}, {
exitReason: 'SIGINT',
stdout: "cleanup",
stderr: "{^C}\n"
});
}
);
t.test("single: child SIGINT - no message", function (t) {
lib.test(t, {
child: 'groupable',
grandchild: false,
grandchildHeedsSIGINT: false,
messages: null,
exception: false,
skipTermination: false,
exitReturn: 'true'
}, function (childPID) {
process.kill(childPID, 'SIGINT');
}, {
exitReason: 'SIGINT',
stdout: "cleanup",
stderr: ""
});
});
t.test("single: group SIGINT - grandchild ignores", function (t) {
lib.test(t, {
child: 'groupable',
grandchild: true,
grandchildHeedsSIGINT: false,
messages: {
ctrl_C: "{^C}"
},
exception: false,
skipTermination: false,
exitReturn: 'true'
}, function (childPID) {
process.kill(-childPID, 'SIGINT');
}, {
exitReason: 0,
stdout: "skipped_cleanup grandchild=0 cleanup",
stderr: ""
});
});
t.test("single: group SIGINT - grandchild heeds", function (t) {
lib.test(t, {
child: 'groupable',
grandchild: true,
grandchildHeedsSIGINT: true,
messages: {
ctrl_C: "{^C}"
},
exception: false,
skipTermination: false,
exitReturn: 'true'
}, function (childPID) {
process.kill(-childPID, 'SIGINT');
}, {
exitReason: 'SIGINT',
stdout: "skipped_cleanup grandchild=SIGINT cleanup",
stderr: "{^C}\n"
});
});
t.test("single: child SIGHUP - exiting", function (t) {
lib.test(t, {
child: 'groupable',
grandchild: false,
grandchildHeedsSIGINT: false,
messages: null,
exception: false,
skipTermination: false,
exitReturn: 'true'
}, function (childPID) {
process.kill(childPID, 'SIGHUP');
}, {
exitReason: 'SIGHUP',
stdout: "cleanup",
stderr: ""
});
});
t.test("single: child SIGHUP - non-exiting", function (t) {
lib.test(t, {
child: 'groupable',
grandchild: false,
grandchildHeedsSIGINT: false,
messages: null,
exception: false,
skipTermination: true,
exitReturn: 'true'
}, function (childPID) {
process.kill(childPID, 'SIGHUP');
}, {
exitReason: 0,
stdout: "cleanup",
stderr: ""
});
});
t.test("single: group SIGHUP", function (t) {
lib.test(t, {
child: 'groupable',
grandchild: true,
grandchildHeedsSIGINT: false,
messages: null,
exception: false,
skipTermination: false,
exitReturn: 'true'
}, function (childPID) {
process.kill(-childPID, 'SIGHUP');
}, {
exitReason: 'SIGHUP',
// grandchild may exit before,during, or after child exits
stdout: /^(cleanup( grandchild=SIGHUP)?|grandchild=SIGHUP cleanup)$/,
stderr: ""
});
});
t.test("single: child SIGQUIT - exiting", function (t) {
lib.test(t, {
child: 'groupable',
grandchild: false,
grandchildHeedsSIGINT: false,
messages: null,
exception: false,
skipTermination: false,
exitReturn: 'true'
}, function (childPID) {
process.kill(childPID, 'SIGQUIT');
}, {
exitReason: 'SIGQUIT',
stdout: "cleanup",
stderr: ""
});
});
t.test("single: child SIGQUIT - non-exiting", function (t) {
lib.test(t, {
child: 'groupable',
grandchild: false,
grandchildHeedsSIGINT: false,
messages: null,
exception: false,
skipTermination: true,
exitReturn: 'true'
}, function (childPID) {
process.kill(childPID, 'SIGQUIT');
}, {
exitReason: 0,
stdout: "cleanup",
stderr: ""
});
});
t.test("single: group SIGQUIT", function (t) {
lib.test(t, {
child: 'groupable',
grandchild: true,
grandchildHeedsSIGINT: false,
messages: null,
exception: false,
skipTermination: false,
exitReturn: 'true'
}, function (childPID) {
process.kill(-childPID, 'SIGQUIT');
}, {
exitReason: 'SIGQUIT',
// grandchild may exit before,during, or after child exits
stdout: /^(cleanup( grandchild=SIGQUIT)?|grandchild=SIGQUIT cleanup)$/,
stderr: ""
});
});
t.test("single: child SIGTERM - exiting", function (t) {
lib.test(t, {
child: 'groupable',
grandchild: false,
grandchildHeedsSIGINT: false,
messages: null,
exception: false,
skipTermination: false,
exitReturn: 'true'
}, function (childPID) {
process.kill(childPID, 'SIGTERM');
}, {
exitReason: 'SIGTERM',
stdout: "cleanup",
stderr: ""
});
});
t.test("single: child SIGTERM - non-exiting", function (t) {
lib.test(t, {
child: 'groupable',
grandchild: false,
grandchildHeedsSIGINT: false,
messages: null,
exception: false,
skipTermination: true,
exitReturn: 'true'
}, function (childPID) {
process.kill(childPID, 'SIGTERM');
}, {
exitReason: 0,
stdout: "cleanup",
stderr: ""
});
});
t.test("single: group SIGTERM", function (t) {
lib.test(t, {
child: 'groupable',
grandchild: true,
grandchildHeedsSIGINT: false,
messages: null,
exception: false,
skipTermination: false,
exitReturn: 'true'
}, function (childPID) {
process.kill(-childPID, 'SIGTERM');
}, {
exitReason: 'SIGTERM',
// grandchild may exit before,during, or after child exits
stdout: /^(cleanup( grandchild=SIGTERM)?|grandchild=SIGTERM cleanup)$/,
stderr: ""
});
});
t.test("single: child SIGKILL", function (t) {
lib.test(t, {
child: 'groupable',
grandchild: false,
grandchildHeedsSIGINT: false,
messages: null,
exception: false,
skipTermination: false,
exitReturn: 'true'
}, function (childPID) {
process.kill(childPID, 'SIGKILL');
}, {
exitReason: 'SIGKILL',
stdout: "",
stderr: ""
});
});
t.test("single: group SIGKILL", function (t) {
lib.test(t, {
child: 'groupable',
grandchild: true,
grandchildHeedsSIGINT: false,
messages: null,
exception: false,
skipTermination: false,
exitReturn: 'true'
}, function (childPID) {
process.kill(-childPID, 'SIGKILL');
}, {
exitReason: 'SIGKILL',
stdout: "",
stderr: ""
});
});
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0036 ]-- |