Skip to main content

Module shell

Module shell 

Source
Expand description

Shelling the resolved bynkc — shared by the commands that delegate to it.

bynk test always delegates (it orchestrates external tsc/node anyway, and delegating through the driver’s resolution is the #487/#486 win); bynk check/fmt delegate only under a BYNK_BYNKC override, so a developer-pinned compiler still governs the result. All three inherit stdio and propagate the child’s exit status through exit_status_byte.

Functions§

delegate
Shell bynkc <args> at bynkc, inheriting stdio, and return its exit code. A spawn failure (a missing or unexecutable binary) is surfaced as a driver error naming the path, so a bad BYNK_BYNKC override is diagnosable.
exit_status_byte
Map a child’s std::process::ExitStatus to a process exit byte. A normal exit propagates the code. Signal death is not uniformly a clean stop: a shared Ctrl-C (SIGINT) is — the terminal delivered it to us too — but a SIGSEGV or the OOM killer’s SIGKILL is a real failure, and mapping it to success made a crashed `bynkc test` read as passing in CI. Non-SIGINT signals exit `128 + signal`, the shell convention.