Files
scriptc/tests/corpus/6422-process-exitcode-read.ts
T
Malte UblandClaude Opus 5.5 20ab1c0531 Merge main into opt/bc-node-surface
Resolve the conflicts with main's process.features value, the WebCrypto dynamic types, the NODE_COMPAT_VERSION import and the symbol.declarations API. Renumber this branch's corpus programs to 6420-6429, write the new limitations partial one sentence per line, and regenerate the compatibility outputs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 19:02:41 -07: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);