Commit 732e2035 authored by Jakub Kicinski's avatar Jakub Kicinski Committed by David S. Miller
Browse files

selftests: kselftest_harness: print test name for SKIP

Jakub points out that for parsers it's rather useful to always
have the test name on the result line. Currently if we SKIP
(or soon XFAIL or XPASS), we will print:

ok 17 # SKIP SCTP doesn't support IP_BIND_ADDRESS_NO_PORT

     ^
     no test name

Always print the test name.
KTAP format seems to allow or even call for it, per:
https://docs.kernel.org/dev-tools/ktap.html



Suggested-by: default avatarJakub Sitnicki <jakub@cloudflare.com>
Link: https://lore.kernel.org/all/87jzn6lnou.fsf@cloudflare.com/


Reviewed-by: default avatarKees Cook <keescook@chromium.org>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent fa1a53d8
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -255,8 +255,9 @@ static inline __printf(1, 2) void ksft_test_result_error(const char *msg, ...)
	va_end(args);
}

static inline __printf(2, 3)
void ksft_test_result_code(int exit_code, const char *msg, ...)
static inline __printf(3, 4)
void ksft_test_result_code(int exit_code, const char *test_name,
			   const char *msg, ...)
{
	const char *tap_code = "ok";
	const char *directive = "";
@@ -287,7 +288,7 @@ void ksft_test_result_code(int exit_code, const char *msg, ...)
	}

	va_start(args, msg);
	printf("%s %u%s", tap_code, ksft_test_num(), directive);
	printf("%s %u %s%s", tap_code, ksft_test_num(), test_name, directive);
	errno = saved_errno;
	vprintf(msg, args);
	va_end(args);
+2 −1
Original line number Diff line number Diff line
@@ -1147,7 +1147,8 @@ void __run_test(struct __fixture_metadata *f,
		diagnostic = "unknown";

	if (t->exit_code == KSFT_SKIP)
		ksft_test_result_code(t->exit_code, "%s\n", diagnostic);
		ksft_test_result_code(t->exit_code, test_name,
				      "%s\n", diagnostic);
	else
		ksft_test_result(__test_passed(t), "%s\n", test_name);
}