On 2024.01.22 19:43, Jeff King wrote: > 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 Ack. I've moved this to a test-tool subcommand for V2, which I hope to send out soon.