Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> writes: > Implements two basic tests of RSEQ functionality, and one more > exhaustive parameterizable test. > > The first, "basic_test" only asserts that RSEQ works moderately > correctly. > E.g. that: > - The CPUID pointer works > - Code infinitely looping within a critical section will eventually be > interrupted. > - Critical sections are interrupted by signals. > > "basic_percpu_ops_test" is a slightly more "realistic" variant, > implementing a few simple per-cpu operations and testing their > correctness. > > "param_test" is a parametrizable restartable sequences test. See > the "--help" output for usage. Thanks for providing selftests :) The Makefiles could use a little clean up: - cpu-opv doesn't need libpthread - you don't need to define your own rule just for building - use TEST_GEN_PROGS to hook into the right parts of lib.mk - .. which means you can use the clean rule in lib.mk I notice you didn't add rseq or cpu-opv to the list of TARGETS in tools/testing/selftests/Makefile, was that deliberate? Feel free to squash this patch in if you're happy to. This still works with: $ make -C tools/testing/selftests TARGETS=rseq and: $ cd tools/testing/selftests/rseq; make cheers diff --git a/tools/testing/selftests/cpu-opv/Makefile b/tools/testing/selftests/cpu-opv/Makefile index 81d0596824ee..d41670ad5c43 100644 --- a/tools/testing/selftests/cpu-opv/Makefile +++ b/tools/testing/selftests/cpu-opv/Makefile @@ -1,13 +1,9 @@ CFLAGS += -O2 -Wall -g -I./ -I../../../../usr/include/ -LDFLAGS += -lpthread -TESTS = basic_cpu_opv_test +TEST_GEN_PROGS = basic_cpu_opv_test -all: $(TESTS) -%: %.c cpu-op.c cpu-op.h - $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) +all: $(TEST_GEN_PROGS) -include ../lib.mk +$(TEST_GEN_PROGS): cpu-op.c cpu-op.h -clean: - $(RM) $(TESTS) +include ../lib.mk diff --git a/tools/testing/selftests/rseq/Makefile b/tools/testing/selftests/rseq/Makefile index 7f0153556b80..9f8257b4ce14 100644 --- a/tools/testing/selftests/rseq/Makefile +++ b/tools/testing/selftests/rseq/Makefile @@ -1,13 +1,10 @@ CFLAGS += -O2 -Wall -g -I./ -I../cpu-opv/ -I../../../../usr/include/ -LDFLAGS += -lpthread +LDLIBS += -lpthread -TESTS = basic_test basic_percpu_ops_test param_test +TEST_GEN_PROGS = basic_test basic_percpu_ops_test param_test -all: $(TESTS) -%: %.c rseq.h rseq-*.h rseq.c ../cpu-opv/cpu-op.c ../cpu-opv/cpu-op.h - $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) +all: $(TEST_GEN_PROGS) -include ../lib.mk +$(TEST_GEN_PROGS): rseq.h rseq-*.h rseq.c ../cpu-opv/cpu-op.c ../cpu-opv/cpu-op.h -clean: - $(RM) $(TESTS) +include ../lib.mk -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html