Re: [PATCH v3 11/11] selftests: error out if kernel header files are not yet built

From: David Hildenbrand
Date: Fri Nov 03 2023 - 09:01:49 EST


On 03.11.23 13:59, David Hildenbrand wrote:
On 03.11.23 13:46, Peter Zijlstra wrote:
On Fri, Nov 03, 2023 at 01:22:54PM +0100, David Hildenbrand wrote:
On 03.11.23 13:16, Peter Zijlstra wrote:
On Tue, Jun 06, 2023 at 12:16:37AM -0700, John Hubbard wrote:
As per a discussion with Muhammad Usama Anjum [1], the following is how
one is supposed to build selftests:

make headers && make -C tools/testing/selftests/mm

Change the selftest build system's lib.mk to fail out with a helpful
message if that prerequisite "make headers" has not been done yet.


NAK NAK NAK

This now means I can no longer run selftests, I thank you very much! :-/

root@spr:/usr/src/linux-2.6# make O=defconfig-build/ -j64
make[1]: Entering directory '/usr/src/linux-2.6/defconfig-build'
***
*** The source tree is not clean, please run 'make mrproper'
*** in /usr/src/linux-2.6


I've always done:

cd tools/testing/selftests/x86; make

and that has always worked

Now I can't bloody well build *any* selftest or risk not being able to
do builds.

This change landed in 6.5, no? And 6.6 was just released. Just curious why
you notice that now.

Dunno, last time I edited the selftests and needed to recompile was a
few weeks ago.

Okay. the question is if your workflow can be easily adjusted, or if we
can improve that header handling as a whole.

The problem I had with this recently: just because we did a "make
headers" once in a git tree doesn't mean that it is still up-to-date.

So once some selftest changes showed up that require newer headers,
building the selftests again fails without a hint that another round of
"make headers" would be required.

To clarify: maybe some kind of a warning would be better, ideally that the headers might be outdated and that another "make headers" would be required in case there are any build errors.

--
Cheers,

David / dhildenb