Software: Apache. PHP/8.1.30 uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 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.0094 ]-- |