michaelforney / samurai

ninja-compatible build tool written in C

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Print exit status/signal of a failed command

mgorny opened this issue · comments

For example, when a process dies with SIGSEGV/SIGBUS:

FAILED: obj/third_party/webrtc/modules/rtp_rtcp/rtp_rtcp/tmmbr_help.o
x86_64-pc-linux-gnu-g++ -MMD -MF obj/third_party/webrtc/modules/rtp_rtcp/rtp_rtcp/tmmbr_help.o.d […]
[91/17801] x86_64-pc-linux-gnu-g++ -MMD -MF obj/third_party/webrtc/modules/rtp_rtcp/rtp_rtcp/rtp_sender_audio.o.d […]

Since the process itself doesn't output anything then, I have no clue why it failed. It would be really helpful if samu processed and included the exit status, e.g. printed something like:

FAILED[$?=2]: ...
FAILED[SIGSEGV]: ...

I like this idea.

Actually, looking into this, I think the output you pasted is from ninja, not samurai. samurai already prints job terminated due to signal N when this happens, and job failed when it exits with a non-zero status.

I pushed a commit to extend the latter to job failed with status N.

Hmm, I have NINJA=samu set globally but perhaps that build didn't respect that. Sorry.

Thanks for improving it!