kselftest/arm64: Handle more kselftest result codes in MTE helpers
authorMark Brown <broonie@kernel.org>
Tue, 19 Apr 2022 10:32:40 +0000 (11:32 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Thu, 28 Apr 2022 16:57:10 +0000 (17:57 +0100)
The MTE selftests have a helper evaluate_test() which translates a return
code into a call to ksft_test_result_*(). Currently this only handles pass
and fail, silently ignoring any other code. Update the helper to support
skipped tests and log any unknown return codes as an error so we get at
least some diagnostic if anything goes wrong.

Signed-off-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Shuah Khan <skhan@linuxfoundation.org>
Link: https://lore.kernel.org/r/20220419103243.24774-2-broonie@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
tools/testing/selftests/arm64/mte/mte_common_util.h

index 195a7d1..2d3e717 100644 (file)
@@ -75,10 +75,21 @@ unsigned int mte_get_pstate_tco(void);
 /* Test framework static inline functions/macros */
 static inline void evaluate_test(int err, const char *msg)
 {
-       if (err == KSFT_PASS)
+       switch (err) {
+       case KSFT_PASS:
                ksft_test_result_pass(msg);
-       else if (err == KSFT_FAIL)
+               break;
+       case KSFT_FAIL:
                ksft_test_result_fail(msg);
+               break;
+       case KSFT_SKIP:
+               ksft_test_result_skip(msg);
+               break;
+       default:
+               ksft_test_result_error("Unknown return code %d from %s",
+                                      err, msg);
+               break;
+       }
 }
 
 static inline int check_allocated_memory(void *ptr, size_t size,