On Tue, Jan 16, 2024 at 02:54:21PM -0800, Junio C Hamano wrote: > > ... so let's move it to t/t0080/t-basic.c and > > adjust Makefiles and .gitignores as necessary. > > ... this conclusion. I somehow thought that t-basic part would be a > good test-tool subcommand, as it is run from the suite of shell > scripts for end-to-end testing CLI interaction. Heh, I was about to ask the same thing. In particular... > Do we have any precedent to place programs placed under t/tXXXX/ and > get them compiled? ...no, I don't think we do. And quite often I exclude those directories when grepping around the code base, because there is often code there that is purely used as a data fixture. E.g., t4256 contains a copy of mailinfo.c which it uses as input for some of the tests. That code also happens to have out-of-bounds memory reads which we have since fixed in the real mailinfo.c, but of course "grep" finds them both. :) So I would prefer a rule like "no buildable code in t/t[0-9]*". Barring that, maybe we could avoid using things that look too much like real Git code in our tests (though we sometimes do need fake code for things like funclines, and even that might end up creating false positives). -Peff