fix: utilityProcess exit codes (#42397)
* fix: utilityProcess exit codes Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * fix: retain disconnect_with_reason_handler Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * chore: move node::Environment check to CallMethodWithArgs Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * chore: address feedback from review Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * chore: update patches --------- Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
This commit is contained in:
parent
2021c2e8e9
commit
5f78c626d1
8 changed files with 226 additions and 34 deletions
|
@ -59,11 +59,29 @@ describe('utilityProcess module', () => {
|
|||
expect(code).to.equal(0);
|
||||
});
|
||||
|
||||
ifit(!isWindows32Bit)('emits the correct error code when child process exits nonzero', async () => {
|
||||
const child = utilityProcess.fork(path.join(fixturesPath, 'empty.js'));
|
||||
await once(child, 'spawn');
|
||||
const exit = once(child, 'exit');
|
||||
process.kill(child.pid!);
|
||||
const [code] = await exit;
|
||||
expect(code).to.not.equal(0);
|
||||
});
|
||||
|
||||
ifit(!isWindows32Bit)('emits the correct error code when child process is killed', async () => {
|
||||
const child = utilityProcess.fork(path.join(fixturesPath, 'empty.js'));
|
||||
await once(child, 'spawn');
|
||||
const exit = once(child, 'exit');
|
||||
process.kill(child.pid!);
|
||||
const [code] = await exit;
|
||||
expect(code).to.not.equal(0);
|
||||
});
|
||||
|
||||
ifit(!isWindows32Bit)('emits \'exit\' when child process crashes', async () => {
|
||||
const child = utilityProcess.fork(path.join(fixturesPath, 'crash.js'));
|
||||
// Do not check for exit code in this case,
|
||||
// SIGSEGV code can be 139 or 11 across our different CI pipeline.
|
||||
await once(child, 'exit');
|
||||
// SIGSEGV code can differ across pipelines but should never be 0.
|
||||
const [code] = await once(child, 'exit');
|
||||
expect(code).to.not.equal(0);
|
||||
});
|
||||
|
||||
ifit(!isWindows32Bit)('emits \'exit\' corresponding to the child process', async () => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue