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>
This commit is contained in:
Michael Ellerman
2015-03-11 15:05:59 +11:00
committed by Shuah Khan
parent 7fe5f1c16c
commit 5e29a9105b
29 changed files with 65 additions and 67 deletions

View File

@@ -18,8 +18,9 @@ execveat.denatured: execveat
%: %.c
$(CC) $(CFLAGS) -o $@ $^
run_tests: all
./execveat
TEST_PROGS := execveat
include ../lib.mk
clean:
rm -rf $(BINARIES) $(DEPS) subdir.moved execveat.moved xxxxx*