Skip to contentSkip to conversation

Handling for TAP header level

PATCH New Shuah Khan 1 participant 3 messages Nov 3, 2017 Kselftest

lore
Share & tools
lore

Shuah Khan

author
#0 lore raw

cover Handling for TAP header level

This first patch in this series adds environment variable KSFT_TAP_LEVEL to avoid printing nested TAP headers for each test. lib.mk run_tests target prints TAP header before invoking the test program or test script. Tests need a way to suppress TAP headers if it is already printed out.

This new environment variable adds a way for ksft_print_header() print TAP header only when KSFT_TAP_LEVEL isn't set.

The second patch in this series changes lib.mk run_tests target to set KSFT_TAP_LEVEL before running tests.

Shuah Khan (2):
selftests: kselftest framework: add handling for TAP header level
selftests: lib.mk set KSFT_TAP_LEVEL to prevent nested TAP headers

 tools/testing/selftests/kselftest.h | 3 ++-
 tools/testing/selftests/lib.mk      | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)
Signature · 1 line
2.11.0
author
#1 lore raw

PATCH 1/2 selftests: kselftest framework: add handling for TAP header level

Introduce environment variable KSFT_TAP_LEVEL to avoid printing nested TAP headers for each test. lib.mk run_tests target prints TAP header before invoking the test program or test script. Tests need a way to suppress TAP headers if it is already printed out.

This new environment variable adds a way for ksft_print_header() print TAP header only when KSFT_TAP_LEVEL isn't set.

lib.mk run_tests and test program should print TAP header and set KSFT_TAP_LEVEL to avoid a second TAP header to be printed.

---
 tools/testing/selftests/kselftest.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
tools/testing/selftests/kselftest.h +2 -1
index 1ae565ed9bf0..d6732ba312ef 100644
@@ -57,7 +57,8 @@ static inline int ksft_get_error_cnt(void) { return ksft_cnt.ksft_error; }
 
 static inline void ksft_print_header(void)
 {
-	printf("TAP version 13\n");
+	if (!(getenv("KSFT_TAP_LEVEL"))
+		printf("TAP version 13\n");
 }
 
 static inline void ksft_print_cnts(void)
Signature · 1 line
2.11.0
author
#2 lore raw

PATCH 2/2 selftests: lib.mk set KSFT_TAP_LEVEL to prevent nested TAP headers

In reply to Shuah Khan

Set KSFT_TAP_LEVEL before running tests to prevent nested TAP header printing from tests.

---
 tools/testing/selftests/lib.mk | 1 +
 1 file changed, 1 insertion(+)
tools/testing/selftests/lib.mk +1 -0
index 5bef05d6ba39..a9e1f81ae177 100644
@@ -20,6 +20,7 @@ all: $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES)
 
 .ONESHELL:
 define RUN_TESTS
+	@export KSFT_TAP_LEVEL=`echo 1`:
 	@test_num=`echo 0`;
 	@echo "TAP version 13";
 	@for TEST in $(1); do				\
Signature · 1 line
2.11.0