!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

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
2025 x86_64
 

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
Free 28.41 GB of 117.98 GB (24.08%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     single.js (9.98 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
// 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 ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0094 ]--