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

@@ -5,9 +5,9 @@ CFLAGS += -I../../../../include/
all:
gcc $(CFLAGS) memfd_test.c -o memfd_test
run_tests: all
gcc $(CFLAGS) memfd_test.c -o memfd_test
@./memfd_test || echo "memfd_test: [FAIL]"
TEST_PROGS := memfd_test
include ../lib.mk
build_fuse:
gcc $(CFLAGS) fuse_mnt.c `pkg-config fuse --cflags --libs` -o fuse_mnt