Commit 850d0cc6 authored by Kees Cook's avatar Kees Cook Committed by Shuah Khan
Browse files

selftests/harness: Limit step counter reporting



When the selftest "step" counter grew beyond 255, non-fatal warnings
were being emitted, which is noisy and pointless. There are selftests
with more than 255 steps (especially those in loops, etc). Instead,
just cap "steps" to 254 and do not report the saturation.

Reported-by: default avatarRalph Campbell <rcampbell@nvidia.com>
Tested-by: default avatarRalph Campbell <rcampbell@nvidia.com>
Fixes: 9847d24a ("selftests/harness: Refactor XFAIL into SKIP")
Signed-off-by: default avatarKees Cook <keescook@chromium.org>
Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
parent 4c6614dc
Loading
Loading
Loading
Loading
+2 −7
Original line number Diff line number Diff line
@@ -680,7 +680,8 @@
			__bail(_assert, _metadata->no_print, _metadata->step))

#define __INC_STEP(_metadata) \
	if (_metadata->passed && _metadata->step < 255) \
	/* Keep "step" below 255 (which is used for "SKIP" reporting). */	\
	if (_metadata->passed && _metadata->step < 253) \
		_metadata->step++;

#define is_signed_type(var)       (!!(((__typeof__(var))(-1)) < (__typeof__(var))1))
@@ -976,12 +977,6 @@ void __run_test(struct __fixture_metadata *f,
		t->passed = 0;
	} else if (t->pid == 0) {
		t->fn(t, variant);
		/* Make sure step doesn't get lost in reporting */
		if (t->step >= 255) {
			ksft_print_msg("Too many test steps (%u)!?\n", t->step);
			t->step = 254;
		}
		/* Use 255 for SKIP */
		if (t->skip)
			_exit(255);
		/* Pass is exit 0 */