On Thu, Jan 30, 2025 at 03:38:36PM +0100, Geert Uytterhoeven wrote: > Hi Lorenzo, > > On Thu, 30 Jan 2025 at 15:09, Lorenzo Stoakes > <lorenzo.stoakes@xxxxxxxxxx> wrote: > > Having written a ton of test code, I've unfortunately encountered a lot of > > this sort of push-back and it's HUGELY off-putting. Writing test code > > should be ENCOURAGED not litigated against. > > I am not discouraging nor pushing back on any testing code (on the > contrary, I test every single new kunit test that appears upstream). > My apologies if I gave the impression. My point is what comes across as pedantry often seems to arrive (in my experience) in response to test code submissions. A wag would say 'isn't that true of all kernel code?' :) but my experience has been that there has been poor RoI on the kind of feedback you get vs. meaningful benefits to the point that it feels like letting yourself in for yak shaving. We may be terribly misreading you in this thread, but it's in any case how it comes across. Obviously this isn't helped by the context of this discussion! > > > The truth is far too little kernel code is tested to any degree, and this > > is part of why. > > > > On kunit collaboration, I attended an in-person talk at LPC on kunit > > userland testing where it was broadly agreed that at this point in time, > > the xarray/radix tree tests weren't really suited to the framework. > > > > Therefore I think the healthy means of pushing forward with integration is > > in sensible discussion and if patches, RFC patches in collaboration with > > authors. > > Good. > > > The unhealthy approach is to needle one of the biggest contributors to core > > test code in the kernel on a thread because you don't seem to want to cd to > > a directory and run make. > > My initial issue was that I could not find out where that is documented. > > $ make help > ... > Userspace tools targets: > use "make tools/help" > or "cd tools; make help" > > $ make tools/help > Possible targets: > ... > You can do: > ... > $ make tools/all > > builds all tools. > > But that command does not build tools/testing/radix-tree, so I was > completely lost. Right, I mean this should be easy enough to fix. If what you're saying is - make this more discoverable, make this easily buildable from the top of the tree - then sure, and I expect this shouldn't be too challenging. > > > Why is this relevant to me? I am the author of the VMA test suite, on which > > I spent countless hours + relied heavily on Liam's work to do so, and > > equally there you have to cd to a directory and run make. > > Thanks for your work! One suggestion for improvement: tools/testing/vma > does not seem to be built by "make tools/all" either. You're welcome, and right yeah, should be relatively simple to fix. This kind of straightforward practical thing is fine. 'You must use the space wombat with extra fireworks' type feedback is not so much... > > > But at the same time in both cases, testability of key internal components > > is ENORMOUSLY improved and allows for REALLY exciting possibilities in test > > coverage, really isolating functions for unit testing, enormously fast > > iteration speed, etc. etc. > > > > I ask you to weigh up the desire to enumerate your misgivings about the > > testing approach used here vs. all of the above. > > I repeat: I am not against these tests. Good, but I would also emphasise what I'm trying to get across with the wall of text here (sorry, that's very me) - let's not get bogged down in the framework or whether it might be preferable to have it under kunit or this that or the other thing vs. the enormous benefits this stuff brings. Sometimes, esp. with new approaches to testing, it has to be at the very least incremental. If you're saying 'just get it documented in a make help and make it buildable from the top of the tree' then fair enough and hopefully not too difficult. In other words - we are all after the same thing here, let's work towards making everything better, and not unnecessarily throw unshaved yaks in the way :) > > Thanks! > > Gr{oetje,eeting}s, > > Geert > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx > > In personal conversations with technical people, I call myself a hacker. But > when I'm talking to journalists I just say "programmer" or something like that. > -- Linus Torvalds Cheers, Lorenzo