]> Git Repo - J-linux.git/commitdiff
selftests/harness: Limit step counter reporting
authorKees Cook <[email protected]>
Tue, 14 Jul 2020 18:30:23 +0000 (11:30 -0700)
committerShuah Khan <[email protected]>
Fri, 17 Jul 2020 19:56:35 +0000 (13:56 -0600)
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: Ralph Campbell <[email protected]>
Tested-by: Ralph Campbell <[email protected]>
Fixes: 9847d24af95c ("selftests/harness: Refactor XFAIL into SKIP")
Signed-off-by: Kees Cook <[email protected]>
Signed-off-by: Shuah Khan <[email protected]>
tools/testing/selftests/kselftest_harness.h

index 935029d4fb21da247ce4f7741d469f959aac4e28..4f78e4805633ead74b189c70656c9c011e9c4656 100644 (file)
                        __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 */
This page took 0.054895 seconds and 4 git commands to generate.