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 195a7d1879e63e28bed370913fd6f37422f27282..2d3e71724e55c3a98680f42fa59194584bbbb42c 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,