[LTP] [PATCH v2] autodetect fts support and tests depending on it

Petr Vorel pvorel@suse.cz
Wed Mar 20 23:47:06 CET 2019


Hi Vineet,

> > Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
> > ---
> >  configure.ac                          | 1 +
> >  testcases/kernel/controllers/Makefile | 6 ++++++
> >  2 files changed, 7 insertions(+)

> > diff --git a/configure.ac b/configure.ac
> > index e002c248eab2..10b2f6b1e43b 100644
> > --- a/configure.ac
> > +++ b/configure.ac
> > @@ -33,6 +33,7 @@ AC_PROG_YACC
> >  AC_PREFIX_DEFAULT(/opt/ltp)

> >  AC_CHECK_HEADERS([ \
> > +    fts.h \
> >      ifaddrs.h \
> >      keyutils.h \
> >      linux/can.h \
> > diff --git a/testcases/kernel/controllers/Makefile b/testcases/kernel/controllers/Makefile
> > index 404073947904..a1626ae03695 100644
> > --- a/testcases/kernel/controllers/Makefile
> > +++ b/testcases/kernel/controllers/Makefile
> > @@ -29,6 +29,12 @@ LIBDIR			:= libcontrollers
> >  LIB			:= $(LIBDIR)/libcontrollers.a
> >  FILTER_OUT_DIRS		:= $(LIBDIR)

> > +# controllers/cpuset/cpuset_lib/libcpuset.c uses fts
> > +# which may not be available/configured in the libc build
> > +ifndef HAVE_FTS_H
> > +FILTER_OUT_DIRS	+= cpuset
> > +endif
> Have you tested it? This will not work as HAVE_LIBAIO_H is in include/config.h,
> thus only for C. For Makefile it must be done via autotools (search for AC_SUBST
> in m4/). I thought TST_TEST_TCONF usage, but you're right, that problematic
> source is part of libcontrollers.a (i.e. part of a library, not normal C
> binary).

But when files aren't compiled, they're missing in runtest/controllers (there
are commands expected, that's why we use TST_TEST_TCONF, so file is there but
exits with warning). There is not an elegant solution, maybe adding these missing
binaries into TST_NEEDS_CMDS (one enough to any *.sh).

Kind regards,
Petr


More information about the ltp mailing list