selftests: remove duplicated all and clean target

Currently, kselftest use TEST_PROGS, TEST_PROGS_EXTENDED, TEST_FILES to
indicate the test program, extended test program and test files. It is
easy to understand the purpose of these files. But mix of compiled and
uncompiled files lead to duplicated "all" and "clean" targets.

In order to remove the duplicated targets, introduce TEST_GEN_PROGS,
TEST_GEN_PROGS_EXTENDED, TEST_GEN_FILES to indicate the compiled
objects.

Also, the later patch will make use of TEST_GEN_XXX to redirect these
files to output directory indicated by KBUILD_OUTPUT or O.

And add this changes to "Contributing new tests(details)" of
Documentation/kselftest.txt.

Signed-off-by: Bamvor Jian Zhang <bamvor.zhangjian@linaro.org>
Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
This commit is contained in:
bamvor.zhangjian@huawei.com
2016-11-29 19:55:47 +08:00
committed by Shuah Khan
parent 7ce7d89f48
commit 88baa78d1f
37 changed files with 120 additions and 257 deletions

View File

@@ -95,3 +95,15 @@ In general, the rules for selftests are
* Don't cause the top-level "make run_tests" to fail if your feature is
unconfigured.
Contributing new tests(details)
===============================
* Use TEST_GEN_XXX if such binaries or files are generated during
compiling.
TEST_PROGS, TEST_GEN_PROGS mean it is the excutable tested by
default.
TEST_PROGS_EXTENDED, TEST_GEN_PROGS_EXTENDED mean it is the
executable which is not tested by default.
TEST_FILES, TEST_GEN_FILES mean it is the file which is used by
test.

View File

@@ -1,13 +1,7 @@
CFLAGS += -Wall -O2 -I../../../../usr/include
test_objs = test_verifier test_maps test_lru_map
TEST_GEN_PROGS = test_verifier test_maps test_lru_map
TEST_PROGS := test_verifier test_maps test_lru_map test_kmod.sh
TEST_FILES := $(test_objs)
all: $(test_objs)
TEST_PROGS := test_kmod.sh
include ../lib.mk
clean:
$(RM) $(test_objs)

View File

@@ -3,17 +3,13 @@ uname_M := $(shell uname -m 2>/dev/null || echo not)
ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/x86/ -e s/x86_64/x86/)
ifeq ($(ARCH),x86)
TEST_PROGS := breakpoint_test
TEST_GEN_PROGS := breakpoint_test
endif
ifeq ($(ARCH),aarch64)
TEST_PROGS := breakpoint_test_arm64
TEST_GEN_PROGS := breakpoint_test_arm64
endif
TEST_PROGS += step_after_suspend_test
all: $(TEST_PROGS)
TEST_GEN_PROGS += step_after_suspend_test
include ../lib.mk
clean:
rm -fr breakpoint_test breakpoint_test_arm64 step_after_suspend_test

View File

@@ -1,15 +1,8 @@
TEST_FILES := validate_cap
TEST_PROGS := test_execve
BINARIES := $(TEST_FILES) $(TEST_PROGS)
TEST_GEN_FILES := validate_cap
TEST_GEN_PROGS := test_execve
CFLAGS += -O2 -g -std=gnu99 -Wall
LDLIBS += -lcap-ng -lrt -ldl
all: $(BINARIES)
clean:
$(RM) $(BINARIES)
include ../lib.mk

View File

@@ -1,13 +1,7 @@
CFLAGS = -Wall
test_objs = open-unlink create-read
all: $(test_objs)
TEST_GEN_FILES := open-unlink create-read
TEST_PROGS := efivarfs.sh
TEST_FILES := $(test_objs)
include ../lib.mk
clean:
rm -f $(test_objs)

View File

@@ -1,7 +1,4 @@
CFLAGS = -Wall
BINARIES = execveat
DEPS = execveat.symlink execveat.denatured script subdir
all: $(BINARIES) $(DEPS)
subdir:
mkdir -p $@
@@ -17,11 +14,12 @@ execveat.denatured: execveat
%: %.c
$(CC) $(CFLAGS) -o $@ $^
TEST_PROGS := execveat
TEST_GEN_PROGS := execveat
TEST_GEN_FILES := execveat.symlink execveat.denatured script subdir
# Makefile is a run-time dependency, since it's accessed by the execveat test
TEST_FILES := $(DEPS) Makefile
TEST_FILES := Makefile
include ../lib.mk
clean:
rm -rf $(BINARIES) $(DEPS) subdir.moved execveat.moved xxxxx*
rm -rf $(TEST_GEN_PROGS) $(TEST_GEN_FILES) subdir.moved execveat.moved xxxxx*

View File

@@ -3,7 +3,7 @@ CFLAGS := $(CFLAGS) -g -O2 -Wall -D_GNU_SOURCE -pthread $(INCLUDES)
LDFLAGS := $(LDFLAGS) -pthread -lrt
HEADERS := ../include/futextest.h
TARGETS := \
TEST_GEN_FILES := \
futex_wait_timeout \
futex_wait_wouldblock \
futex_requeue_pi \
@@ -12,14 +12,8 @@ TARGETS := \
futex_wait_uninitialized_heap \
futex_wait_private_mapped_file
TEST_PROGS := $(TARGETS) run.sh
.PHONY: all clean
all: $(TARGETS)
$(TARGETS): $(HEADERS)
TEST_PROGS := run.sh
include ../../lib.mk
clean:
rm -f $(TARGETS)
$(TEST_GEN_FILES): $(HEADERS)

View File

@@ -11,12 +11,7 @@ endif
CFLAGS += -I../../../../usr/include/
all:
$(CC) $(CFLAGS) msgque.c -o msgque_test
TEST_PROGS := msgque_test
TEST_GEN_PROGS := msgque
include ../lib.mk
clean:
rm -fr ./msgque_test

View File

@@ -1,10 +1,8 @@
CFLAGS += -I../../../../usr/include/
all: kcmp_test
TEST_PROGS := kcmp_test
TEST_GEN_PROGS := kcmp_test
include ../lib.mk
clean:
$(RM) kcmp_test kcmp-test-file
$(RM) $(TEST_GEN_PROGS) kcmp-test-file

View File

@@ -3,7 +3,7 @@
CC := $(CROSS_COMPILE)gcc
define RUN_TESTS
@for TEST in $(TEST_PROGS); do \
@for TEST in $(TEST_GEN_PROGS) $(TEST_PROGS); do \
(./$$TEST && echo "selftests: $$TEST [PASS]") || echo "selftests: $$TEST [FAIL]"; \
done;
endef
@@ -14,8 +14,13 @@ run_tests: all
define INSTALL_RULE
@if [ "X$(TEST_PROGS)$(TEST_PROGS_EXTENDED)$(TEST_FILES)" != "X" ]; then \
mkdir -p ${INSTALL_PATH}; \
echo "rsync -a $(TEST_DIRS) $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES) $(INSTALL_PATH)/"; \
rsync -a $(TEST_DIRS) $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES) $(INSTALL_PATH)/; \
echo "rsync -a $(TEST_DIRS) $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES) $(INSTALL_PATH)/"; \
rsync -a $(TEST_DIRS) $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES) $(INSTALL_PATH)/; \
fi
@if [ "X$(TEST_GEN_PROGS)$(TEST_GEN_PROGS_EXTENDED)$(TEST_GEN_FILES)" != "X" ]; then \
mkdir -p ${INSTALL_PATH}; \
echo "rsync -a $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES) $(INSTALL_PATH)/"; \
rsync -a $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES) $(INSTALL_PATH)/; \
fi
endef
@@ -27,7 +32,7 @@ else
endif
define EMIT_TESTS
@for TEST in $(TEST_PROGS); do \
@for TEST in $(TEST_GEN_PROGS) $(TEST_PROGS); do \
echo "(./$$TEST && echo \"selftests: $$TEST [PASS]\") || echo \"selftests: $$TEST [FAIL]\""; \
done;
endef
@@ -35,4 +40,9 @@ endef
emit_tests:
$(EMIT_TESTS)
all: $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES)
clean:
$(RM) -r $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES)
.PHONY: run_tests all clean install emit_tests

View File

@@ -1,10 +1,6 @@
CFLAGS += -g -I../../../../usr/include/
TEST_PROGS := membarrier_test
all: $(TEST_PROGS)
TEST_GEN_PROGS := membarrier_test
include ../lib.mk
clean:
$(RM) $(TEST_PROGS)

View File

@@ -4,19 +4,11 @@ CFLAGS += -I../../../../include/uapi/
CFLAGS += -I../../../../include/
CFLAGS += -I../../../../usr/include/
TEST_PROGS := memfd_test
all: $(TEST_PROGS)
include ../lib.mk
build_fuse: fuse_mnt fuse_test
TEST_PROGS := run_fuse_test.sh
TEST_GEN_FILES := memfd_test fuse_mnt fuse_test
fuse_mnt.o: CFLAGS += $(shell pkg-config fuse --cflags)
fuse_mnt: LDFLAGS += $(shell pkg-config fuse --libs)
run_fuse: build_fuse
@./run_fuse_test.sh || echo "fuse_test: [FAIL]"
include ../lib.mk
clean:
$(RM) memfd_test fuse_test

View File

@@ -1,14 +1,14 @@
# Makefile for mount selftests.
CFLAGS = -Wall \
-O2
all: unprivileged-remount-test
unprivileged-remount-test: unprivileged-remount-test.c
$(CC) $(CFLAGS) unprivileged-remount-test.c -o unprivileged-remount-test
TEST_GEN_PROGS := unprivileged-remount-test
include ../lib.mk
TEST_PROGS := unprivileged-remount-test
override RUN_TESTS := if [ -f /proc/self/uid_map ] ; \
then \
./unprivileged-remount-test ; \
@@ -17,5 +17,3 @@ override RUN_TESTS := if [ -f /proc/self/uid_map ] ; \
fi
override EMIT_TESTS := echo "$(RUN_TESTS)"
clean:
rm -f unprivileged-remount-test

View File

@@ -1,8 +1,6 @@
CFLAGS += -O2
LDLIBS = -lrt -lpthread -lpopt
TEST_PROGS := mq_open_tests mq_perf_tests
all: $(TEST_PROGS)
TEST_GEN_PROGS := mq_open_tests mq_perf_tests
include ../lib.mk
@@ -16,5 +14,3 @@ override define EMIT_TESTS
echo "./mq_perf_tests || echo \"selftests: mq_perf_tests [FAIL]\""
endef
clean:
rm -f mq_open_tests mq_perf_tests

View File

@@ -3,20 +3,15 @@
CFLAGS = -Wall -Wl,--no-as-needed -O2 -g
CFLAGS += -I../../../../usr/include/
NET_PROGS = socket
NET_PROGS += psock_fanout psock_tpacket
NET_PROGS += reuseport_bpf reuseport_bpf_cpu reuseport_bpf_numa
NET_PROGS += reuseport_dualstack
all: $(NET_PROGS)
reuseport_bpf_numa: LDFLAGS += -lnuma
%: %.c
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
TEST_PROGS := run_netsocktests run_afpackettests test_bpf.sh
TEST_FILES := $(NET_PROGS)
TEST_GEN_FILES = socket
TEST_GEN_FILES += psock_fanout psock_tpacket
TEST_GEN_FILES += reuseport_bpf reuseport_bpf_cpu reuseport_bpf_numa
TEST_GEN_FILES += reuseport_dualstack
include ../lib.mk
clean:
$(RM) $(NET_PROGS)

View File

@@ -1,12 +1,5 @@
TEST_PROGS := owner pidns
TEST_GEN_PROGS := owner pidns
CFLAGS := -Wall -Werror
all: owner pidns
owner: owner.c
pidns: pidns.c
clean:
$(RM) owner pidns
include ../lib.mk

View File

@@ -1,10 +1,5 @@
TEST_PROGS := copy_unaligned copy_first_unaligned paste_unaligned paste_last_unaligned
all: $(TEST_PROGS)
$(TEST_PROGS): ../harness.c ../utils.c copy_paste_unaligned_common.c
TEST_GEN_PROGS := copy_unaligned copy_first_unaligned paste_unaligned paste_last_unaligned
include ../../lib.mk
clean:
rm -f $(TEST_PROGS)
$(TEST_GEN_PROGS): ../harness.c ../utils.c copy_paste_unaligned_common.c

View File

@@ -1,16 +1,11 @@
TEST_PROGS := gettimeofday context_switch mmap_bench futex_bench null_syscall
TEST_GEN_PROGS := gettimeofday context_switch mmap_bench futex_bench null_syscall
CFLAGS += -O2
all: $(TEST_PROGS)
$(TEST_GEN_PROGS): ../harness.c
$(TEST_PROGS): ../harness.c
include ../../lib.mk
context_switch: ../utils.c
context_switch: CFLAGS += -maltivec -mvsx -mabi=altivec
context_switch: LDLIBS += -lpthread
include ../../lib.mk
clean:
rm -f $(TEST_PROGS) *.o

View File

@@ -1,10 +1,5 @@
TEST_PROGS := cp_abort
all: $(TEST_PROGS)
$(TEST_PROGS): ../harness.c ../utils.c
TEST_GEN_PROGS := cp_abort
include ../../lib.mk
clean:
rm -f $(TEST_PROGS)
$(TEST_GEN_PROGS): ../harness.c ../utils.c

View File

@@ -7,19 +7,14 @@ CFLAGS += -maltivec
# Use our CFLAGS for the implicit .S rule
ASFLAGS = $(CFLAGS)
TEST_PROGS := copyuser_64 copyuser_power7 memcpy_64 memcpy_power7
TEST_GEN_PROGS := copyuser_64 copyuser_power7 memcpy_64 memcpy_power7
EXTRA_SOURCES := validate.c ../harness.c
all: $(TEST_PROGS)
include ../../lib.mk
copyuser_64: CPPFLAGS += -D COPY_LOOP=test___copy_tofrom_user_base
copyuser_power7: CPPFLAGS += -D COPY_LOOP=test___copy_tofrom_user_power7
memcpy_64: CPPFLAGS += -D COPY_LOOP=test_memcpy
memcpy_power7: CPPFLAGS += -D COPY_LOOP=test_memcpy_power7
$(TEST_PROGS): $(EXTRA_SOURCES)
include ../../lib.mk
clean:
rm -f $(TEST_PROGS) *.o
$(TEST_GEN_PROGS): $(EXTRA_SOURCES)

Some files were not shown because too many files have changed in this diff Show More