RE: [PATCH v3 2/5] selftests/resctrl: Make resctrl_tests run using kselftest framework

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Khan,

> On 2/15/22 7:26 PM, Shaopeng Tan wrote:
> > In kselftest framework, all tests can be build/run at a time, and a
> > sub test also can be build/run individually. As follows:
> > $ make -C tools/testing/selftests run_tests $ make -C
> > tools/testing/selftests TARGETS=ptrace run_tests
> >
> > However, resctrl_tests cannot be run using kselftest framework, users
> > have to change directory to tools/testing/selftests/resctrl/, run
> > "make" to build executable file "resctrl_tests", and run "sudo
> > ./resctrl_tests" to execute the test.
> >
> > To build/run resctrl_tests using kselftest framework.
> > Modify tools/testing/selftests/Makefile and
> > tools/testing/selftests/resctrl/Makefile.
> >
> > Even after this change, users can still build/run resctrl_tests
> > without using framework as before.
> >
> > Signed-off-by: Shaopeng Tan <tan.shaopeng@xxxxxxxxxxxxxx>
> > ---
> > Some important feedbacks from v1&v2 are addressed as follows:
> >
> > - The changelog mentions that changes were made to the resctrl
> >    selftest Makefile but it does not describe what the change accomplish
> >    or why they are needed.
> >    => By changing the Makefile, resctrl_tests can use kselftest
> >       framework like other sub tests. I described this in changelog.
> >
> > - The changelog did not describe how a user may use the kselftest
> >    framework to run the resctrl tests nor the requested information
> >    on how existing workflows are impacted.
> >    => I described how to build/run resctrl_tests with kselftest framework,
> >       and described the existing workflows are not impacted that users can
> >       build/run resctrl_tests without using kselftest framework as before.
> >
> > - tools/testing/selftests/resctrl/README should be updated.
> >    => I separate the update of README to a new patch.[patch v3 3/5]
> >
> > - Why is the meaning of "EXTRA_SOURCES" (i.e. what is "extra"?) and
> >    why is "SRCS" no longer sufficient?
> >    => I referred to other Makefiles, and found "SRCS" is better
> >       than "EXTRA_SOURCES". So, I updated it to use "SRCS".
> >
> >   tools/testing/selftests/Makefile         |  1 +
> >   tools/testing/selftests/resctrl/Makefile | 20 ++++++--------------
> >   2 files changed, 7 insertions(+), 14 deletions(-)
> >
> > diff --git a/tools/testing/selftests/Makefile
> > b/tools/testing/selftests/Makefile
> > index c852eb40c4f7..7df397c6893c 100644
> > --- a/tools/testing/selftests/Makefile
> > +++ b/tools/testing/selftests/Makefile
> > @@ -51,6 +51,7 @@ TARGETS += proc
> >   TARGETS += pstore
> >   TARGETS += ptrace
> >   TARGETS += openat2
> > +TARGETS += resctrl
> >   TARGETS += rlimits
> >   TARGETS += rseq
> >   TARGETS += rtc
> > diff --git a/tools/testing/selftests/resctrl/Makefile
> > b/tools/testing/selftests/resctrl/Makefile
> > index 6bcee2ec91a9..de26638540ba 100644
> > --- a/tools/testing/selftests/resctrl/Makefile
> > +++ b/tools/testing/selftests/resctrl/Makefile
> > @@ -1,17 +1,9 @@
> > -CC = $(CROSS_COMPILE)gcc
> > -CFLAGS = -g -Wall -O2 -D_FORTIFY_SOURCE=2 -SRCS=$(wildcard *.c)
> > -OBJS=$(SRCS:.c=.o)
> > +CFLAGS += -g -Wall -O2 -D_FORTIFY_SOURCE=2
> >
> > -all: resctrl_tests
> > +TEST_GEN_PROGS := resctrl_tests
> > +SRCS := $(wildcard *.c)
> >
> > -$(OBJS): $(SRCS)
> > -	$(CC) $(CFLAGS) -c $(SRCS)
> > +all: $(TEST_GEN_PROGS)
> >
> > -resctrl_tests: $(OBJS)
> > -	$(CC) $(CFLAGS) -o $@ $^
> > -
> > -.PHONY: clean
> > -
> > -clean:
> > -	$(RM) $(OBJS) resctrl_tests
> > +$(TEST_GEN_PROGS): $(SRCS)
> 
> This patch breaks the test build - the below use-cases fail
> 
> make kselftest-all TARGETS=resctrl
> make -C  tools/testing/selftests/ TARGETS=resctrl
> 
> Also a simple make in tools/testing/selftests/resctr

Thanks for your feedbacks.
I applied these patches to the source below and built 
resctrl_tests successfully using above use-cases on x86/arm machine.
(1)
 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
 Tag: v5.16
(2)
 https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
 Tag: next-20220217

Could you tell me which kernel source you used to build
and what error message you got?

Best regards, 
Tan Shaopeng




[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux