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

From: Willy Tarreau
Date: Wed Oct 26 2022 - 10:18:01 EST


On Wed, Oct 26, 2022 at 06:57:33AM -0700, Paul E. McKenney wrote:
> 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!

In case you don't have it, it's this one:

https://lore.kernel.org/all/20221026054508.19634-1-w@xxxxxx/

Do not hesitate to let me know if I should resend it.

Thanks!
Willy