selftests: harness: avoid false negatives if test has no ASSERTs
authorJakub Kicinski <kuba@kernel.org>
Wed, 24 Nov 2021 22:39:16 +0000 (14:39 -0800)
committerShuah Khan <skhan@linuxfoundation.org>
Fri, 10 Dec 2021 23:46:01 +0000 (16:46 -0700)
Test can fail either immediately when ASSERT() failed or at the
end if one or more EXPECT() was not met. The exact return code
is decided based on the number of successful ASSERT()s.

If test has no ASSERT()s, however, the return code will be 0,
as if the test did not fail. Start counting ASSERT()s from 1.

Fixes: 369130b63178 ("selftests: Enhance kselftest_harness.h to print which assert failed")
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/testing/selftests/kselftest_harness.h

index ae0f0f33b2a6e20dadacf80b0bcebf29a6a1a52b..79a182cfa43ad6825a043cebd4d237aa01b984ee 100644 (file)
@@ -969,7 +969,7 @@ void __run_test(struct __fixture_metadata *f,
        t->passed = 1;
        t->skip = 0;
        t->trigger = 0;
-       t->step = 0;
+       t->step = 1;
        t->no_print = 0;
        memset(t->results->reason, 0, sizeof(t->results->reason));