From: René Scharfe Date: Tue, 30 Jul 2024 14:00:07 GMT Subject: Re: [PATCH v3 3/7] unit-tests: add for_test Message-ID: <53c1eaeb-6106-492c-9c44-13a7cd1bd0d0@web.de> In-Reply-To: Am 30.07.24 um 06:49 schrieb Patrick Steinhardt: > On Mon, Jul 29, 2024 at 11:55:52AM -0700, Junio C Hamano wrote: >> Patrick Steinhardt writes: >> >>> is standalone nowadays and called "clar" [1]. The biggest downside of it >>> is that it depends on Python to auto-generate the test "main" function, >>> which is not really a good fit for the Git project. >> >> Is that because Python is optional (like, we only use it for >> optional Perforce thing and import-zip in contrib), or are there >> other concerns? >> >> Unlike these components, unit tests are not even for the end-user >> consumers, so if it is Python that you find it a blocker, I do not >> see a reason to reject it. The thing looked like a simple script >> that does not use any tricky language construct or modules. > > No concerns other than adding another mandatory dependency for devs. We > already depend on Perl and Shell, so adding Python to the stack feels > suboptimal to me. > > As you say though, the script isn't all that involved. So it would also > be possible to port it to Perl if we want to do that, I guess. From the point of view of a "minimal C unit testing framework" surely the implementation language with the best dependency story would be C. Perhaps it could then also test itself. On the other hand, writing a string handling program in 2024 in C is probably not the smartest idea. Then again, generate.py uses a non-greedy regex to remove single-line comments, which seems wrong, and doesn't seem to support preprocessor directives like #if and #ifdef, so whole tests can't be disabled this way. And it uses pickle to cache results; does that mean it would be slow without it? Anyway, point being that parsing C isn't so easy using Python either. René