Re: [PATCH 0/4] tools/nolibc: add testcases for vfprintf

From: Willy Tarreau
Date: Tue Apr 04 2023 - 16:46:45 EST


On Tue, Apr 04, 2023 at 01:40:32PM -0700, Paul E. McKenney wrote:
> On Sun, Apr 02, 2023 at 02:24:04PM -0700, Paul E. McKenney wrote:
> > On Sun, Apr 02, 2023 at 08:48:02PM +0200, Willy Tarreau wrote:
> > > Hello Paul,
> > >
> > > Thomas added new tests for vfprintf(), which is a good idea because it
> > > was a new implementation, we use it a lot in the tests so we'd rather
> > > make sure it works! This required to implement support for memfd_create()
> > > that is used to collect the output into a buffer, as well as to complete
> > > a little bit the minimalistic FILE emulation with fileno(), fdopen(),
> > > fflush() and fclose(). The result is neat and works equally on glibc and
> > > nolibc. We just had to cheat on the pointer test because for NULL nolibc
> > > prints "0x0" while glibc prints "(nil)" so we check 0x1 instead to avoid
> > > this special case.
> > >
> > > Finally Thomas added a new target to the makefile to ease building the
> > > test against the default libc. This should help detect incompatibilities
> > > when new features are added.
> > >
> > > I've tested it locally with my libc and against all supported architectures
> > > (userland tests only), and all tests passed.
> > >
> > > This can be added to your dev tree for 6.5 on top of the previous series.
> >
> > Looks like some useful code to make testing more comprehensive, thank
> > you both! Queued and pushed.
>
> And finally tested:
>
> Kernel: arch/x86/boot/bzImage is ready (#7)
> make[1]: Leaving directory '/home/git/linux-build'
> 133 test(s) passed.
>
> CC nolibc-test
> 133 test(s) passed.
>
> So good agreement between user and kernel, anyway. Usermode tests
> note that two of the tests are skipped (chroot_root and link_blah).
> Kernelmode tests all say "[OK]".

This is perfect, thank you Paul!

Eventually I'll clean up my test script I use to build and test for all
archs, and commit it to help with such testing.

thanks!
Willy