Re: [PATCH] kbuild: teach kselftest-merge to find nested config files

From: Dan Rue
Date: Thu May 30 2019 - 15:04:23 EST


On Mon, May 20, 2019 at 07:56:41PM +0200, Greg KH wrote:
> On Mon, May 20, 2019 at 10:16:14AM -0500, Dan Rue wrote:
> > Current implementation of kselftest-merge only finds config files that
> > are one level deep using `$(srctree)/tools/testing/selftests/*/config`.
> >
> > Often, config files are added in nested directories, and do not get
> > picked up by kselftest-merge.
> >
> > Use `find` to catch all config files under
> > `$(srctree)/tools/testing/selftests` instead.
> >
> > Signed-off-by: Dan Rue <dan.rue@xxxxxxxxxx>
> > ---
> > Makefile | 5 ++---
> > 1 file changed, 2 insertions(+), 3 deletions(-)
>
> To be more specific here, the binderfs test is not catching the config
> entry, so it would be nice to get this into the stable trees as well :)
>
> > diff --git a/Makefile b/Makefile
> > index a45f84a7e811..e99e7f9484af 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -1228,9 +1228,8 @@ kselftest-clean:
> > PHONY += kselftest-merge
> > kselftest-merge:
> > $(if $(wildcard $(objtree)/.config),, $(error No .config exists, config your kernel first!))
> > - $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh \
> > - -m $(objtree)/.config \
> > - $(srctree)/tools/testing/selftests/*/config
> > + $(Q)find $(srctree)/tools/testing/selftests -name config | \
> > + xargs $(srctree)/scripts/kconfig/merge_config.sh -m $(objtree)/.config
> > +$(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig
> >
> > # ---------------------------------------------------------------------------
>
> is find run with $(Q)? It isn't with other instances in the Makefile.

I'm not entirely sure all the ways that $(Q) is used (it looks like it
just gets set to @), but if i run 'KBUILD_VERBOSE=1 make
kselftest-merge' I do see the find command printed before running:

find ./tools/testing/selftests -name config | \
xargs ./scripts/kconfig/merge_config.sh -m ./.config

I noticed find used inconsistently (sometimes with @, sometimes with
$(Q), sometimes with neither), so I picked the usage that seemed most
correct to me.

Dan

>
> thanks,
>
> greg k-h

--
Linaro - Kernel Validation