Files
scriptc/tests/corpus/6422-process-exitcode-read.ts
T
2026-10-20 17:56:44 -05:00

23 lines
708 B
TypeScript

// @exit: 7
// process.exitCode: unset reads undefined, assignments (including 0) read back,
// and process.exit(n) assigns the code before 'exit' listeners run.
console.log("initial", process.exitCode);
process.on("exit", (code) => {
console.log("exit listener", code, process.exitCode);
});
process.exitCode = 0;
console.log("after 0", process.exitCode);
process.exitCode = 4;
const seen = process.exitCode;
console.log("after 4", seen, typeof process.exitCode);
process.exitCode = process.exitCode ?? 9;
console.log("kept", process.exitCode);
try {
process.exitCode = 1.5;
} catch (e) {
console.log("rejected", (e as Error).message, process.exitCode);
}
setTimeout(() => {
process.exit(7);
}, 1);