From 5e29a9105b1a0da86eff0ad6ae015997b49d4d1d Mon Sep 17 00:00:00 2001 From: Michael Ellerman Date: Wed, 11 Mar 2015 15:05:59 +1100 Subject: selftests: Introduce minimal shared logic for running tests This adds a Make include file which most selftests can then include to get the run_tests logic. On its own this has the advantage of some reduction in repetition, and also means the pass/fail message is defined in fewer places. However the key advantage is it will allow us to implement install very simply in a subsequent patch. The default implementation just executes each program in $(TEST_PROGS). We use a variable to hold the default implementation of $(RUN_TESTS) because that gives us a clean way to override it if necessary, ie. using override. The mount, memory-hotplug and mqueue tests use that to provide a different implementation. Tests are not run via /bin/bash, so if they are scripts they must be executable, we add a+x to several. Signed-off-by: Michael Ellerman Signed-off-by: Shuah Khan --- tools/testing/selftests/sysctl/Makefile | 11 ++--------- tools/testing/selftests/sysctl/run_numerictests | 0 tools/testing/selftests/sysctl/run_stringtests | 0 3 files changed, 2 insertions(+), 9 deletions(-) mode change 100644 => 100755 tools/testing/selftests/sysctl/run_numerictests mode change 100644 => 100755 tools/testing/selftests/sysctl/run_stringtests (limited to 'tools/testing/selftests/sysctl') diff --git a/tools/testing/selftests/sysctl/Makefile b/tools/testing/selftests/sysctl/Makefile index 0a92adaf0865..c9660f5ef9f9 100644 --- a/tools/testing/selftests/sysctl/Makefile +++ b/tools/testing/selftests/sysctl/Makefile @@ -4,16 +4,9 @@ # No binaries, but make sure arg-less "make" doesn't trigger "run_tests". all: -# Allow specific tests to be selected. -test_num: - @/bin/sh ./run_numerictests +TEST_PROGS := run_numerictests run_stringtests -test_string: - @/bin/sh ./run_stringtests - -run_tests: all test_num test_string +include ../lib.mk # Nothing to clean up. clean: - -.PHONY: all run_tests clean test_num test_string diff --git a/tools/testing/selftests/sysctl/run_numerictests b/tools/testing/selftests/sysctl/run_numerictests old mode 100644 new mode 100755 diff --git a/tools/testing/selftests/sysctl/run_stringtests b/tools/testing/selftests/sysctl/run_stringtests old mode 100644 new mode 100755 -- cgit v1.2.3 From 32dcfba6f8df667e4b915e0542b33ccbc8e76fa8 Mon Sep 17 00:00:00 2001 From: Michael Ellerman Date: Wed, 11 Mar 2015 15:06:00 +1100 Subject: selftests: Add install target This adds make install support to selftests. The basic usage is: $ cd tools/testing/selftests $ make install That installs into tools/testing/selftests/install, which can then be copied where ever necessary. The install destination is also configurable using eg: $ INSTALL_PATH=/mnt/selftests make install The implementation uses two targets in the child makefiles. The first "install" is expected to install all files into $(INSTALL_PATH). The second, "emit_tests", is expected to emit the test instructions (ie. bash script) on stdout. Separating this from install means the child makefiles need no knowledge of the location of the test script. Signed-off-by: Michael Ellerman Signed-off-by: Shuah Khan --- tools/testing/selftests/sysctl/Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'tools/testing/selftests/sysctl') diff --git a/tools/testing/selftests/sysctl/Makefile b/tools/testing/selftests/sysctl/Makefile index c9660f5ef9f9..b3c33e071f10 100644 --- a/tools/testing/selftests/sysctl/Makefile +++ b/tools/testing/selftests/sysctl/Makefile @@ -5,6 +5,7 @@ all: TEST_PROGS := run_numerictests run_stringtests +TEST_FILES := common_tests include ../lib.mk -- cgit v1.2.3