Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
exitCode
andexitCodeName
are currently wrong.We use
error.code
as the base forexitCode
andexitCodeName
. We also useutil.getSystemErrorName()
on an exit code. Both are erroneous as they are mixing exit codes anderror.code
/error.errno
, which are different things.error.code
anderror.errno
are based on OS-specific system calls. Those are sometimes used as exit codes, but an exit code does not always translate to anerror.errno
.Assigning a name or description to exit codes is tricky. That's because exit codes meaning is both application-specific and OS-specific. For example, the exit code
2
means "Command line usage error" if the command isbash
. But it means "ENOENT - No such file or directory" if the error was due to a Linux system call error.This PR fixes this by:
error.exitCodeName
(breaking change).exitCode
useerror.code
anymoreerror.code
when defined instead of deleting itCommand failed with ${error.code}
whenerror.code
is definedcode
toexitCode
for clarity