Re: [PATCH] selftests/nolibc: add 7 tests for memcmp()

From: Paul E. McKenney
Date: Wed Oct 26 2022 - 09:58:35 EST


On Wed, Oct 26, 2022 at 07:39:22AM +0200, Willy Tarreau wrote:
> Hi Paul,
>
> On Mon, Oct 24, 2022 at 08:53:57AM -0700, Paul E. McKenney wrote:
> > > Will keep thinking about it and hopefully propose a patch to make the
> > > tests easier to use before we're too far in the 6.1 release.
> >
> > Another possibility is to have a separate developers' and maintainers'
> > option. Linus and I do "make whatever" for some value of "whatever"
> > that builds from scratch, doing whatever cleaning that might be required.
> > Developers use targets that are faster but have the possibility of false
> > positives and false negatives.
> >
> > But maybe you have something better in mind.
> >
> > > Thanks for keeping the conversation flowing, that helps me!
> >
> > Looking forward to seeing what you come up with!
>
> I could finally figure what was taking time in the installation process.
> Interestingly, it's "make headers", which is not redone without a "make
> clean" at the kernel level. The "make headers_install" only takes a few
> hundred milliseconds, so issuing a systematic "make clean" in the nolibc
> test dir only takes ~800ms here to perform a full rebuild, which is totally
> acceptable to me.
>
> Thus what I've done is to mark the sysroot target as .phony and start it
> with a removal of the current include dir so that we systematically rebuild
> it. Now there's no such risk of running a test against an earlier version
> anymore, and there are no "make clean" to worry about anymore either.
> That looks much better to me!
>
> And I could confirm that just issuing:
>
> $ time make -j8 -C tools/testing/selftests/nolibc run
>
> after reverting Rasmus' fix led me to this pretty quickly:
>
> ...
> Kernel: arch/x86/boot/bzImage is ready (#3)
> make[1]: Leaving directory '/k'
> 15 memcmp_20_e0 = 64 [FAIL]
> 16 memcmp_e0_20 = -64 [FAIL]
> See all results in /k/tools/testing/selftests/nolibc/run.out
> make: Leaving directory '/k/tools/testing/selftests/nolibc'
>
> real 0m14.538s
> user 0m27.828s
> sys 0m4.576s
>
> No more false positives nor false negatives anymore. I'm sending you
> the patch separately.
>
> Thanks for the discussion, the solution is way better now!

Nice, looking forward to the patch!

Thanx, Paul