wavelength_server/websocket_server/node_modules/node-cleanup/tests/nocleanup.js

176 lines
3.9 KiB
JavaScript

// tests in which spawned child uses the default cleanup handler
var t = require('tap');
var lib = require('./lib/library');
t.test("nocleanup: normal child exit", function (t) {
lib.test(t, {
child: 'stackable',
handlers: 0,
exception: false,
uninstall: false
}, function (childPID) {
// no signal
}, {
exitReason: 0,
stdout: "",
stderr: ""
});
});
t.test("nocleanup: uncaught exception - default message", function (t) {
lib.test(t, {
child: 'stackable',
handlers: 0,
exception: true,
uninstall: false
}, function (childPID) {
// no signal
}, {
exitReason: 1,
stdout: "",
stderr: lib.DEFAULT_EXCEPTION_OUT
});
});
t.test("nocleanup: uncaught exception - custom message", function (t) {
lib.test(t, {
child: 'stackable',
handlers: 0,
messages0: {
uncaughtException: "Yikes!"
},
exception: true,
uninstall: false
}, function (childPID) {
// no signal
}, {
exitReason: 1,
stdout: "",
stderr: /^Yikes!/
});
});
t.test("nocleanup: child SIGINT - default message", function (t) {
lib.test(t, {
child: 'stackable',
handlers: 0,
exception: false,
uninstall: false
}, function (childPID) {
process.kill(childPID, 'SIGINT');
}, {
exitReason: 'SIGINT',
stdout: "",
stderr: lib.DEFAULT_SIGINT_OUT
});
});
t.test("nocleanup: child SIGINT - custom message", function (t) {
lib.test(t, {
child: 'stackable',
handlers: 0,
messages0: {
ctrl_C: "{^C}"
},
exception: false,
uninstall: false
}, function (childPID) {
process.kill(childPID, 'SIGINT');
}, {
exitReason: 'SIGINT',
stdout: "",
stderr: "{^C}\n"
});
});
t.test("nocleanup: child SIGQUIT", function (t) {
lib.test(t, {
child: 'stackable',
handlers: 0,
exception: false,
uninstall: false
}, function (childPID) {
process.kill(childPID, 'SIGQUIT');
}, {
exitReason: 'SIGQUIT',
stdout: "",
stderr: ""
});
});
t.test("nocleanup: child SIGTERM", function (t) {
lib.test(t, {
child: 'stackable',
handlers: 0,
exception: false,
uninstall: false
}, function (childPID) {
process.kill(childPID, 'SIGTERM');
}, {
exitReason: 'SIGTERM',
stdout: "",
stderr: ""
});
});
t.test("nocleanup: child SIGKILL", function (t) {
lib.test(t, {
child: 'stackable',
handlers: 0,
exception: false,
uninstall: false
}, function (childPID) {
process.kill(childPID, 'SIGKILL');
}, {
exitReason: 'SIGKILL',
stdout: "",
stderr: ""
});
});
t.test("nocleanup/uninstall: normal child exit", function (t) {
lib.test(t, {
child: 'stackable',
handlers: 0,
exception: false,
uninstall: true
}, function (childPID) {
// no signal
}, {
exitReason: 0,
stdout: "",
stderr: ""
});
});
t.test("nocleanup/uninstall: uncaught exception", function (t) {
lib.test(t, {
child: 'stackable',
handlers: 0,
exception: true,
uninstall: true
}, function (childPID) {
// no signal
}, {
exitReason: 1,
stdout: "",
stderr: /tests[\/\\]bin[\/\\]stackable.js/
});
});
t.test("nocleanup/uninstall: child SIGINT", function (t) {
lib.test(t, {
child: 'stackable',
handlers: 0,
exception: false,
uninstall: true
}, function (childPID) {
process.kill(childPID, 'SIGINT');
}, {
exitReason: 'SIGINT',
stdout: "",
stderr: ""
});
});