From: Patrick Steinhardt Date: Tue, 23 Jul 2024 09:53:13 GMT Subject: Re: [PATCH v2 2/6] unit-tests: add for_test Message-ID: In-Reply-To: <71aa553e-9b10-4bc7-9c7d-5414691db79a@web.de> On Tue, Jul 23, 2024 at 11:25:29AM +0200, René Scharfe wrote: > Am 23.07.24 um 08:36 schrieb Patrick Steinhardt: > > There is of course some magic involved with how we generate the file. > > It requires magic function names and generates code using a different > language, while for_test is a just single new control flow keyword, > like the dozen or so we already have. So the magic employed by the > libgit2 system is both broader and deeper. It is broader, that's certainly true. But it feels more self-contained, less fragile and easier to read to me compared to macros. > > But I think that would be quite manageable, and ultimately all that the > > developer would need to care about is writing a `test_foo_something()` > > function. Everything else would be handled by our infra. > > With for_test all the developer has to do is write a test with a > description, no extra infrastructure beyond the existing unit test > framework needed. True, but it feels like it is an invitation for writing unidiomatic code to me. Unidiomatic in this context to me mostly means code that is not self-contained and thus cannot be run standalone. These are quite obviously subjective opinions though. Patrick