Stephen Oberholtzer <stevie@xxxxxxxxx> writes: >> In any case, I wonder why something along the line of the attached >> patch is not sufficient and it needs this much code. >> ... > Unfortunately, that doesn't behave properly. > As far as 'git bisect run' is concerned, there are four distinct sets > ... > What needs to happen is that status code lists for "test passed" (#1) > and "test failed" (#2) are swapped; even when bisecting a fix, #3 > (untestable) and #4 (malfunction) remain unchanged. Your patch remaps > case #4 to case #1. Yeah, I know. I didn't mean to give you a perfect solution and that was why I said "along the line of...". I know I ignored the 128 and above, as I usually trust that our contributors are competent enough to be able to fill in the missing details given an outline. The key takeaway I wanted you to notice was that a single case statement that maps the exit code external command would give us would look sufficient, without any of the {SUCCESS,FAIL}_TERM magic you had in your version, which indicates that there is more than the simple "using a run script to find where a bug was fixed can be done by swapping exit code" going on. And it is quite unclear why that is needed either from the patch or the text that accompanied the patch. Thanks.