diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2015-02-19 14:22:48 +1100 |
---|---|---|
committer | Stephen Rothwell <sfr@canb.auug.org.au> | 2015-02-19 14:22:48 +1100 |
commit | c871087d97c8d3c77cf3029143292f34b0050067 (patch) | |
tree | 03dfe56b0a5e800af845ba0faab57c55efa24247 | |
parent | c5c764627b00a76527f2ad41c9fa362ac6507aa1 (diff) | |
parent | 6ddf898c23d62c974e148efd9e509731324a167a (diff) |
Merge remote-tracking branch 'kselftest/next'
23 files changed, 326 insertions, 50 deletions
@@ -1098,12 +1098,21 @@ headers_check: headers_install $(Q)$(MAKE) $(hdr-inst)=arch/$(hdr-arch)/include/uapi/asm $(hdr-dst) HDRCHECK=1 # --------------------------------------------------------------------------- -# Kernel selftest +# Kernel selftest targets + +# Default base path for kselftest install +INSTALL_KSFT_PATH = $(INSTALL_MOD_PATH)/lib/kselftest/$(KERNELRELEASE) +export INSTALL_KSFT_PATH PHONY += kselftest kselftest: $(Q)$(MAKE) -C tools/testing/selftests run_tests +# Kernel selftest install +PHONY += kselftest_install +kselftest_install: + $(Q)$(MAKE) -C tools/testing/selftests install + # --------------------------------------------------------------------------- # Modules @@ -1312,6 +1321,9 @@ help: @echo ' Build, install, and boot kernel before' @echo ' running kselftest on it' @echo '' + @echo ' kselftest_install - Install Kselftests to INSTALL_KSFT_PATH' + @echo ' default: $(INSTALL_MOD_PATH)/lib/kselftest/$(KERNELRELEASE)' + @echo '' @echo 'Kernel packaging:' @$(MAKE) $(build)=$(package-dir) help @echo '' diff --git a/tools/testing/selftests/Makefile b/tools/testing/selftests/Makefile index 4e511221a0c..45661ce390f 100644 --- a/tools/testing/selftests/Makefile +++ b/tools/testing/selftests/Makefile @@ -22,15 +22,67 @@ TARGETS += vm TARGETS_HOTPLUG = cpu-hotplug TARGETS_HOTPLUG += memory-hotplug +# Used in only run_tests target when make kselftest is run in +# top level source directory +ifeq "$(origin TARGETS)" "command line" +no_install_run=1 +endif + +ifdef INSTALL_KSFT_PATH +KSELFTEST=$(INSTALL_KSFT_PATH)/kselftest.sh +export KSELFTEST +# TODO add install target for SKIP_INSTALL_TARGETS +SKIP_INSTALL_TARGETS = exec powerpc +INSTALL_TARGETS = $(filter-out $(SKIP_INSTALL_TARGETS),$(TARGETS)) ipc +else +no_install_run=1 +endif + +INSTALL_KSFT_ERR = "Run make kselftest_install in top level source directory" + all: for TARGET in $(TARGETS); do \ make -C $$TARGET; \ done; -run_tests: all +install: +ifdef INSTALL_KSFT_PATH + rm -rf $(INSTALL_KSFT_PATH) + mkdir -p $(INSTALL_KSFT_PATH) + + make all + @echo "#!/bin/sh\n# Kselftest Run Tests ...." >> $(KSELFTEST) + @echo "# This file is generated by kselftest_install" >> $(KSELFTEST) + @echo "# Please don't change it !!\n" >> $(KSELFTEST) + @echo "echo \"============================\"" >> $(KSELFTEST) + for TARGET in $(INSTALL_TARGETS); do \ + echo "Installing $$TARGET"; \ + echo "echo \"Start $$TARGET test ....\"" >> $(KSELFTEST); \ + make -C $$TARGET install; \ + echo "echo \"End $$TARGET test ....\"" >> $(KSELFTEST); \ + echo "echo \"============================\"" >> $(KSELFTEST); \ + done; + chmod +x $(KSELFTEST) +else + @echo $(INSTALL_KSFT_ERR) +endif + +run_tests: +ifndef no_install_run +# ifdef INSTALL_KSFT_PATH + make install + @cd $(INSTALL_KSFT_PATH); ./kselftest.sh; cd - +# invoke run_tests for SKIP_INSTALL_TARGETS + for TARGET in $(SKIP_INSTALL_TARGETS); do \ + make -C $$TARGET run_tests; \ + done; +# endif +else + make all for TARGET in $(TARGETS); do \ make -C $$TARGET run_tests; \ done; +endif hotplug: for TARGET in $(TARGETS_HOTPLUG); do \ diff --git a/tools/testing/selftests/breakpoints/Makefile b/tools/testing/selftests/breakpoints/Makefile index e18b42b254a..c738d4c99c8 100644 --- a/tools/testing/selftests/breakpoints/Makefile +++ b/tools/testing/selftests/breakpoints/Makefile @@ -8,6 +8,7 @@ ifeq ($(ARCH),x86_64) ARCH := x86 endif +TEST_STR = ./breakpoint_test || echo 'breakpoints selftests: [FAIL]' all: ifeq ($(ARCH),x86) @@ -16,8 +17,22 @@ else echo "Not an x86 target, can't build breakpoints selftests" endif -run_tests: - @./breakpoint_test || echo "breakpoints selftests: [FAIL]" +install: +ifdef INSTALL_KSFT_PATH +ifeq ($(ARCH),x86) + install ./breakpoint_test $(INSTALL_KSFT_PATH) + @echo "$(TEST_STR)" >> $(KSELFTEST) +else + @echo "Not an x86 target, unable to install breakpoints selftests" +endif +else + @echo "Run make kselftest_install in top level source directory" +endif + +run_tests: all +ifeq ($(ARCH),x86) + @$(TEST_STR) +endif clean: rm -fr breakpoint_test diff --git a/tools/testing/selftests/cpu-hotplug/Makefile b/tools/testing/selftests/cpu-hotplug/Makefile index e9c28d8dc84..c168033701e 100644 --- a/tools/testing/selftests/cpu-hotplug/Makefile +++ b/tools/testing/selftests/cpu-hotplug/Makefile @@ -1,9 +1,19 @@ +TEST_STR=/bin/bash ./cpu-on-off-test.sh || echo 'cpu-hotplug selftests: [FAIL]' + all: +install: +ifdef INSTALL_KSFT_PATH + install ./cpu-on-off-test.sh $(INSTALL_KSFT_PATH)/cpu-on-off-test.sh + @echo "$(TEST_STR)" >> $(KSELFTEST) +else + @echo "Run make kselftest_install in top level source directory" +endif + run_tests: - @/bin/bash ./on-off-test.sh || echo "cpu-hotplug selftests: [FAIL]" + @$(TEST_STR) run_full_test: - @/bin/bash ./on-off-test.sh -a || echo "cpu-hotplug selftests: [FAIL]" + @/bin/bash ./cpu-on-off-test.sh -a || echo "cpu-hotplug selftests: [FAIL]" clean: diff --git a/tools/testing/selftests/cpu-hotplug/on-off-test.sh b/tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh index 98b1d6565f2..98b1d6565f2 100644 --- a/tools/testing/selftests/cpu-hotplug/on-off-test.sh +++ b/tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh diff --git a/tools/testing/selftests/efivarfs/Makefile b/tools/testing/selftests/efivarfs/Makefile index 29e8c6bc81b..c5f389d4152 100644 --- a/tools/testing/selftests/efivarfs/Makefile +++ b/tools/testing/selftests/efivarfs/Makefile @@ -3,10 +3,22 @@ CFLAGS = -Wall test_objs = open-unlink create-read -all: $(test_objs) +TEST_STR = /bin/bash ./efivarfs.sh || echo 'efivarfs selftests: [FAIL]' + +all: + gcc open-unlink.c -o open-unlink + gcc create-read.c -o create-read + +install: +ifdef INSTALL_KSFT_PATH + install ./efivarfs.sh $(test_objs) $(INSTALL_KSFT_PATH) + @echo "$(TEST_STR)" >> $(KSELFTEST) +else + @echo "Run make kselftest_install in top level source directory" +endif run_tests: all - @/bin/bash ./efivarfs.sh || echo "efivarfs selftests: [FAIL]" + @$(TEST_STR) clean: rm -f $(test_objs) diff --git a/tools/testing/selftests/exec/execveat.c b/tools/testing/selftests/exec/execveat.c index e238c9559ca..8d5d1d2ee7c 100644 --- a/tools/testing/selftests/exec/execveat.c +++ b/tools/testing/selftests/exec/execveat.c @@ -30,7 +30,7 @@ static int execveat_(int fd, const char *path, char **argv, char **envp, #ifdef __NR_execveat return syscall(__NR_execveat, fd, path, argv, envp, flags); #else - errno = -ENOSYS; + errno = ENOSYS; return -1; #endif } @@ -234,6 +234,14 @@ static int run_tests(void) int fd_cloexec = open_or_die("execveat", O_RDONLY|O_CLOEXEC); int fd_script_cloexec = open_or_die("script", O_RDONLY|O_CLOEXEC); + /* Check if we have execveat at all, and bail early if not */ + errno = 0; + execveat_(-1, NULL, NULL, NULL, 0); + if (errno == ENOSYS) { + printf("[FAIL] ENOSYS calling execveat - no kernel support?\n"); + return 1; + } + /* Change file position to confirm it doesn't affect anything */ lseek(fd, 10, SEEK_SET); diff --git a/tools/testing/selftests/firmware/Makefile b/tools/testing/selftests/firmware/Makefile index e23cce0bbc3..0bdc25b0de2 100644 --- a/tools/testing/selftests/firmware/Makefile +++ b/tools/testing/selftests/firmware/Makefile @@ -1,25 +1,34 @@ # Makefile for firmware loading selftests # No binaries, but make sure arg-less "make" doesn't trigger "run_tests" + +__fw_filesystem: +fw_filesystem = if /bin/sh ./fw_filesystem.sh ; then +fw_filesystem += echo 'fw_filesystem: ok'; +fw_filesystem += else echo 'fw_filesystem: [FAIL]'; +fw_filesystem += fi + +__fw_userhelper: +fw_userhelper = if /bin/sh ./fw_userhelper.sh ; then +fw_userhelper += echo 'fw_userhelper: ok'; +fw_userhelper += else +fw_userhelper += echo 'fw_userhelper: [FAIL]'; +fw_userhelper += fi + all: -fw_filesystem: - @if /bin/sh ./fw_filesystem.sh ; then \ - echo "fw_filesystem: ok"; \ - else \ - echo "fw_filesystem: [FAIL]"; \ - exit 1; \ - fi - -fw_userhelper: - @if /bin/sh ./fw_userhelper.sh ; then \ - echo "fw_userhelper: ok"; \ - else \ - echo "fw_userhelper: [FAIL]"; \ - exit 1; \ - fi - -run_tests: all fw_filesystem fw_userhelper +install: +ifdef INSTALL_KSFT_PATH + install ./fw_filesystem.sh ./fw_userhelper.sh $(INSTALL_KSFT_PATH) + @echo "$(fw_filesystem)" >> $(KSELFTEST) + @echo "$(fw_userhelper)" >> $(KSELFTEST) +else + @echo "Run make kselftest_install in top level source directory" +endif + +run_tests: + @$(fw_filesystem) + @$(fw_userhelper) # Nothing to clean up. clean: diff --git a/tools/testing/selftests/ftrace/Makefile b/tools/testing/selftests/ftrace/Makefile index 76cc9f15626..c5c77584af8 100644 --- a/tools/testing/selftests/ftrace/Makefile +++ b/tools/testing/selftests/ftrace/Makefile @@ -1,7 +1,18 @@ +TEST_STR = /bin/sh ./ftracetest || echo 'ftrace selftests: [FAIL]' + all: +install: +ifdef INSTALL_KSFT_PATH + install ./ftracetest $(INSTALL_KSFT_PATH) + @cp -r test.d $(INSTALL_KSFT_PATH) + echo "$(TEST_STR)" >> $(KSELFTEST) +else + @echo "Run make kselftest_install in top level source directory" +endif + run_tests: - @/bin/sh ./ftracetest || echo "ftrace selftests: [FAIL]" + @$(TEST_STR) clean: rm -rf logs/* diff --git a/tools/testing/selftests/ipc/Makefile b/tools/testing/selftests/ipc/Makefile index 74bbefdeaf4..67ea3af961b 100644 --- a/tools/testing/selftests/ipc/Makefile +++ b/tools/testing/selftests/ipc/Makefile @@ -11,6 +11,8 @@ endif CFLAGS += -I../../../../usr/include/ +TEST_STR = ./msgque_test || echo 'ipc msgque test: [FAIL]' + all: ifeq ($(ARCH),x86) gcc $(CFLAGS) msgque.c -o msgque_test @@ -18,8 +20,23 @@ else echo "Not an x86 target, can't build msgque selftest" endif +install: +ifdef INSTALL_KSFT_PATH +ifeq ($(ARCH),x86) + make all + install ./msgque_test $(INSTALL_KSFT_PATH) + @echo "$(TEST_STR)" >> $(KSELFTEST) +else + @echo "Not an x86 target, unable to install ipc msgque selftests" +endif +else + @echo "Run make kselftest_install in top level source directory" +endif + run_tests: all - ./msgque_test +ifeq ($(ARCH),x86) + @$(TEST_STR) +endif clean: rm -fr ./msgque_test diff --git a/tools/testing/selftests/kcmp/Makefile b/tools/testing/selftests/kcmp/Makefile index ff0eefdc6ce..46267c1c4d2 100644 --- a/tools/testing/selftests/kcmp/Makefile +++ b/tools/testing/selftests/kcmp/Makefile @@ -1,10 +1,21 @@ CC := $(CROSS_COMPILE)$(CC) CFLAGS += -I../../../../usr/include/ +TEST_STR = ./kcmp_test || echo 'kcmp_test: [FAIL]' + all: kcmp_test +install: +ifdef INSTALL_KSFT_PATH + install ./kcmp_test $(INSTALL_KSFT_PATH) + @echo "$(TEST_STR)" >> $(KSELFTEST) + @echo rm -f kcmp-test-file >> $(KSELFTEST) +else + @echo "Run make kselftest_install in top level source directory" +endif + run_tests: all - @./kcmp_test || echo "kcmp_test: [FAIL]" + @$(TEST_STR) clean: $(RM) kcmp_test kcmp-test-file diff --git a/tools/testing/selftests/memfd/Makefile b/tools/testing/selftests/memfd/Makefile index b80cd10d53b..23c84bf302c 100644 --- a/tools/testing/selftests/memfd/Makefile +++ b/tools/testing/selftests/memfd/Makefile @@ -2,19 +2,30 @@ CFLAGS += -D_FILE_OFFSET_BITS=64 CFLAGS += -I../../../../include/uapi/ CFLAGS += -I../../../../include/ +INSTALL_PROGS = memfd_test fuse_test run_fuse_test.sh +MEMFD_TEST_STR = ./memfd_test || echo 'memfd_test: [FAIL]' +FUSE_TEST_STR = ./run_fuse_test.sh || echo 'fuse_test: [FAIL]' + all: gcc $(CFLAGS) memfd_test.c -o memfd_test +install: +ifdef INSTALL_KSFT_PATH + install $(INSTALL_PROGS) $(INSTALL_KSFT_PATH) + @echo "$(MEMFD_TEST_STR)" >> $(KSELFTEST) +else + @echo "Run make kselftest_install in top level source directory" +endif + run_tests: all - gcc $(CFLAGS) memfd_test.c -o memfd_test - @./memfd_test || echo "memfd_test: [FAIL]" + @$(MEMFD_TEST_STR) build_fuse: gcc $(CFLAGS) fuse_mnt.c `pkg-config fuse --cflags --libs` -o fuse_mnt gcc $(CFLAGS) fuse_test.c -o fuse_test run_fuse: build_fuse - @./run_fuse_test.sh || echo "fuse_test: [FAIL]" + @$(FUSE_TEST_STR) clean: $(RM) memfd_test fuse_test diff --git a/tools/testing/selftests/memory-hotplug/Makefile b/tools/testing/selftests/memory-hotplug/Makefile index d46b8d489cd..3bb0a99c23e 100644 --- a/tools/testing/selftests/memory-hotplug/Makefile +++ b/tools/testing/selftests/memory-hotplug/Makefile @@ -1,9 +1,19 @@ +TEST_STR=/bin/bash ./mem-on-off-test.sh -r 2 || echo 'memory-hotplug selftests: [FAIL]' + all: +install: +ifdef INSTALL_KSFT_PATH + install ./mem-on-off-test.sh $(INSTALL_KSFT_PATH)/mem-on-off-test.sh + @echo "$(TEST_STR)" >> $(KSELFTEST) >> $(KSELFTEST) +else + @echo "Run make kselftest_install in top level source directory" +endif + run_tests: - @/bin/bash ./on-off-test.sh -r 2 || echo "memory-hotplug selftests: [FAIL]" + @$(TEST_STR) run_full_test: - @/bin/bash ./on-off-test.sh || echo "memory-hotplug selftests: [FAIL]" + @/bin/bash ./mem-on-off-test.sh || echo "memory-hotplug selftests: [FAIL]" clean: diff --git a/tools/testing/selftests/memory-hotplug/on-off-test.sh b/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh index 6cddde0b96f..6cddde0b96f 100644 --- a/tools/testing/selftests/memory-hotplug/on-off-test.sh +++ b/tools/testing/selftests/memory-hotplug/mem-on-off-test.sh diff --git a/tools/testing/selftests/mount/Makefile b/tools/testing/selftests/mount/Makefile index 337d853c2b7..422a2d8fc1a 100644 --- a/tools/testing/selftests/mount/Makefile +++ b/tools/testing/selftests/mount/Makefile @@ -1,5 +1,7 @@ # Makefile for mount selftests. +TEST_STR = if [ -f /proc/self/uid_map ] ; then ./unprivileged-remount-test ; fi + all: unprivileged-remount-test unprivileged-remount-test: unprivileged-remount-test.c @@ -7,7 +9,15 @@ unprivileged-remount-test: unprivileged-remount-test.c # Allow specific tests to be selected. test_unprivileged_remount: unprivileged-remount-test - @if [ -f /proc/self/uid_map ] ; then ./unprivileged-remount-test ; fi + @$(TEST_STR) + +install: +ifdef INSTALL_KSFT_PATH + install ./unprivileged-remount-test $(INSTALL_KSFT_PATH) + @echo "$(TEST_STR)" >> $(KSELFTEST) +else + @echo "Run make kselftest_install in top level source directory" +endif run_tests: all test_unprivileged_remount diff --git a/tools/testing/selftests/mqueue/Makefile b/tools/testing/selftests/mqueue/Makefile index 8056e2e68fa..813c9e2c75d 100644 --- a/tools/testing/selftests/mqueue/Makefile +++ b/tools/testing/selftests/mqueue/Makefile @@ -1,10 +1,22 @@ +MQ_OPEN_TEST_STR = ./mq_open_tests /test1 || echo 'mq_open_tests: [FAIL]' +MQ_PERF_TEST_STR = ./mq_perf_tests || echo 'mq_perf_tests: [FAIL]' + all: gcc -O2 mq_open_tests.c -o mq_open_tests -lrt gcc -O2 -o mq_perf_tests mq_perf_tests.c -lrt -lpthread -lpopt -run_tests: - @./mq_open_tests /test1 || echo "mq_open_tests: [FAIL]" - @./mq_perf_tests || echo "mq_perf_tests: [FAIL]" +install: +ifdef INSTALL_KSFT_PATH + install ./mq_open_tests ./mq_perf_tests $(INSTALL_KSFT_PATH) + @echo "$(MQ_OPEN_TEST_STR)" >> $(KSELFTEST) + @echo "$(MQ_PERF_TEST_STR)" >> $(KSELFTEST) +else + @echo "Run make kselftest_install in top level source directory" +endif + +run_tests: all + @$(MQ_OPEN_TEST_STR) + @$(MQ_PERF_TEST_STR) clean: rm -f mq_open_tests mq_perf_tests diff --git a/tools/testing/selftests/net/Makefile b/tools/testing/selftests/net/Makefile index 62f22cc9941..a1a825336c4 100644 --- a/tools/testing/selftests/net/Makefile +++ b/tools/testing/selftests/net/Makefile @@ -6,14 +6,28 @@ CFLAGS = -Wall -O2 -g CFLAGS += -I../../../../usr/include/ NET_PROGS = socket psock_fanout psock_tpacket +INSTALL_PROGS = run_netsocktests run_afpackettests test_bpf.sh $(NET_PROGS) +NETSOCK_TEST_STR = /bin/sh ./run_netsocktests || echo 'sockettests: [FAIL]' +AFPKT_TEST_STR = /bin/sh ./run_afpackettests || echo 'afpackettests: [FAIL]' +BFP_TEST_STR = ./test_bpf.sh all: $(NET_PROGS) %: %.c $(CC) $(CFLAGS) -o $@ $^ +install: +ifdef INSTALL_KSFT_PATH + install $(INSTALL_PROGS) $(INSTALL_KSFT_PATH) + @echo "$(NETSOCK_TEST_STR)" >> $(KSELFTEST) + @echo "$(AFPKT_TEST_STR)" >> $(KSELFTEST) + @echo "$(BFP_TEST_STR)" >> $(KSELFTEST) +else + @echo "Run make kselftest_install in top level source directory" +endif + run_tests: all - @/bin/sh ./run_netsocktests || echo "sockettests: [FAIL]" - @/bin/sh ./run_afpackettests || echo "afpackettests: [FAIL]" - ./test_bpf.sh + @$(NETSOCK_TEST_STR) + @$(AFPKT_TEST_STR) + @$(BFP_TEST_STR) clean: $(RM) $(NET_PROGS) diff --git a/tools/testing/selftests/ptrace/Makefile b/tools/testing/selftests/ptrace/Makefile index 47ae2d385ce..6fc352ca187 100644 --- a/tools/testing/selftests/ptrace/Makefile +++ b/tools/testing/selftests/ptrace/Makefile @@ -1,10 +1,20 @@ CFLAGS += -iquote../../../../include/uapi -Wall -peeksiginfo: peeksiginfo.c -all: peeksiginfo +TEST_STR = ./peeksiginfo || echo 'peeksiginfo selftests: [FAIL]' + +all: + gcc peeksiginfo.c -o peeksiginfo + +install: +ifdef INSTALL_KSFT_PATH + install ./peeksiginfo $(INSTALL_KSFT_PATH) + @echo "$(TEST_STR)" >> $(KSELFTEST) +else + @echo "Run make kselftest_install in top level source directory" +endif clean: rm -f peeksiginfo run_tests: all - @./peeksiginfo || echo "peeksiginfo selftests: [FAIL]" + @$(TEST_STR) diff --git a/tools/testing/selftests/size/Makefile b/tools/testing/selftests/size/Makefile index 04dc25e4fa9..a1478fafde4 100644 --- a/tools/testing/selftests/size/Makefile +++ b/tools/testing/selftests/size/Makefile @@ -1,12 +1,22 @@ CC = $(CROSS_COMPILE)gcc +TEST_STR = ./get_size || echo 'get_size selftests: [FAIL]' + all: get_size get_size: get_size.c $(CC) -static -ffreestanding -nostartfiles -s $< -o $@ +install: +ifdef INSTALL_KSFT_PATH + install ./get_size $(INSTALL_KSFT_PATH) + @echo "$(TEST_STR)" >> $(KSELFTEST) +else + @echo "Run make kselftest_install in top level source directory" +endif + run_tests: all - ./get_size + @$(TEST_STR) clean: $(RM) get_size diff --git a/tools/testing/selftests/sysctl/Makefile b/tools/testing/selftests/sysctl/Makefile index 0a92adaf086..9119ef12b07 100644 --- a/tools/testing/selftests/sysctl/Makefile +++ b/tools/testing/selftests/sysctl/Makefile @@ -4,12 +4,25 @@ # No binaries, but make sure arg-less "make" doesn't trigger "run_tests". all: +INSTALL_PROGS = common_tests run_numerictests run_stringtests +NUMERIC_TEST_STR = /bin/sh ./run_numerictests +STRING_TEST_STR = /bin/sh ./run_stringtests + # Allow specific tests to be selected. test_num: - @/bin/sh ./run_numerictests + @$(NUMERIC_TEST_STR) test_string: - @/bin/sh ./run_stringtests + @$(STRING_TEST_STR) + +install: all +ifdef INSTALL_KSFT_PATH + install $(INSTALL_PROGS) $(INSTALL_KSFT_PATH) + @echo "$(NUMERIC_TEST_STR)" >> $(KSELFTEST) + @echo "$(STRING_TEST_STR)" >> $(KSELFTEST) +else + @echo "Run make kselftest_install in top level source directory" +endif run_tests: all test_num test_string diff --git a/tools/testing/selftests/timers/Makefile b/tools/testing/selftests/timers/Makefile index eb2859f4ad2..6c03e927ed3 100644 --- a/tools/testing/selftests/timers/Makefile +++ b/tools/testing/selftests/timers/Makefile @@ -1,8 +1,18 @@ +TEST_STR = ./posix_timers + all: gcc posix_timers.c -o posix_timers -lrt +install: +ifdef INSTALL_KSFT_PATH + install ./posix_timers $(INSTALL_KSFT_PATH) + @echo "$(TEST_STR)" >> $(KSELFTEST) +else + @echo "Run make kselftest_install in top level source directory" +endif + run_tests: all - ./posix_timers + @$(TEST_STR) clean: rm -f ./posix_timers diff --git a/tools/testing/selftests/user/Makefile b/tools/testing/selftests/user/Makefile index 12c9d15bab0..3d383084dba 100644 --- a/tools/testing/selftests/user/Makefile +++ b/tools/testing/selftests/user/Makefile @@ -1,7 +1,17 @@ # Makefile for user memory selftests +TEST_STR = ./test_user_copy.sh + # No binaries, but make sure arg-less "make" doesn't trigger "run_tests" all: +install: +ifdef INSTALL_KSFT_PATH + install ./test_user_copy.sh $(INSTALL_KSFT_PATH) + @echo "$(TEST_STR)" >> $(KSELFTEST) +else + @echo "Run make kselftest_install in top level source directory" +endif + run_tests: all - ./test_user_copy.sh + @$(TEST_STR) diff --git a/tools/testing/selftests/vm/Makefile b/tools/testing/selftests/vm/Makefile index 077828c889f..fe9a2eaed28 100644 --- a/tools/testing/selftests/vm/Makefile +++ b/tools/testing/selftests/vm/Makefile @@ -4,13 +4,22 @@ CC = $(CROSS_COMPILE)gcc CFLAGS = -Wall BINARIES = hugepage-mmap hugepage-shm map_hugetlb thuge-gen hugetlbfstest BINARIES += transhuge-stress +TEST_STR = /bin/sh ./run_vmtests || echo 'vmtests: [FAIL]' all: $(BINARIES) %: %.c $(CC) $(CFLAGS) -o $@ $^ -lrt +install: +ifdef INSTALL_KSFT_PATH + install run_vmtests $(BINARIES) $(INSTALL_KSFT_PATH) + @echo "$(TEST_STR)" >> $(KSELFTEST) +else + @echo "Run make kselftest_install in top level source directory" +endif + run_tests: all - @/bin/sh ./run_vmtests || (echo "vmtests: [FAIL]"; exit 1) + @$(TEST_STR) clean: $(RM) $(BINARIES) |