Merge tag 'linux-kselftest-4.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel...
[muen/linux.git] / tools / testing / selftests / Makefile
index dbda89c9d9b92544854c459364dcc1d37d8d5a32..bae6a4e9f2ee108bc7edc1749c0f2a3ebbb7b63d 100644 (file)
@@ -67,6 +67,12 @@ ifndef BUILD
   BUILD := $(shell pwd)
 endif
 
+# KSFT_TAP_LEVEL is used from KSFT framework to prevent nested TAP header
+# printing from tests. Applicable to run_tests case where run_tests adds
+# TAP header prior running tests and when a test program invokes another
+# with system() call. Export it here to cover override RUN_TESTS defines.
+export KSFT_TAP_LEVEL=`echo 1`
+
 export BUILD
 all:
        @for TARGET in $(TARGETS); do           \
@@ -126,11 +132,14 @@ ifdef INSTALL_PATH
        echo "else" >> $(ALL_SCRIPT)
        echo "  OUTPUT=/dev/stdout" >> $(ALL_SCRIPT)
        echo "fi" >> $(ALL_SCRIPT)
+       echo "export KSFT_TAP_LEVEL=`echo 1`" >> $(ALL_SCRIPT)
 
        for TARGET in $(TARGETS); do \
                BUILD_TARGET=$$BUILD/$$TARGET;  \
-               echo "echo ; echo Running tests in $$TARGET" >> $(ALL_SCRIPT); \
+               echo "echo ; echo TAP version 13" >> $(ALL_SCRIPT);     \
+               echo "echo Running tests in $$TARGET" >> $(ALL_SCRIPT); \
                echo "echo ========================================" >> $(ALL_SCRIPT); \
+               echo "[ -w /dev/kmsg ] && echo \"kselftest: Running tests in $$TARGET\" >> /dev/kmsg" >> $(ALL_SCRIPT); \
                echo "cd $$TARGET" >> $(ALL_SCRIPT); \
                make -s --no-print-directory OUTPUT=$$BUILD_TARGET -C $$TARGET emit_tests >> $(ALL_SCRIPT); \
                echo "cd \$$ROOT" >> $(ALL_SCRIPT); \