summaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/lib.mk
diff options
context:
space:
mode:
authorMichael Ellerman <mpe@ellerman.id.au>2015-03-11 05:05:59 +0100
committerShuah Khan <shuahkh@osg.samsung.com>2015-03-13 22:13:40 +0100
commit5e29a9105b1a0da86eff0ad6ae015997b49d4d1d (patch)
tree8c913c799dc3d6251efec0e681ef738ec38a3f4e /tools/testing/selftests/lib.mk
parentMAINTAINERS: Add selftests/timers to the timekeeping maintainance list (diff)
downloadlinux-5e29a9105b1a0da86eff0ad6ae015997b49d4d1d.tar.xz
linux-5e29a9105b1a0da86eff0ad6ae015997b49d4d1d.zip
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 <mpe@ellerman.id.au> Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
Diffstat (limited to 'tools/testing/selftests/lib.mk')
-rw-r--r--tools/testing/selftests/lib.mk10
1 files changed, 10 insertions, 0 deletions
diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
new file mode 100644
index 000000000000..b30c5a49cb61
--- /dev/null
+++ b/tools/testing/selftests/lib.mk
@@ -0,0 +1,10 @@
+define RUN_TESTS
+ @for TEST in $(TEST_PROGS); do \
+ (./$$TEST && echo "selftests: $$TEST [PASS]") || echo "selftests: $$TEST [FAIL]"; \
+ done;
+endef
+
+run_tests: all
+ $(RUN_TESTS)
+
+.PHONY: run_tests all clean