diff options
author | Cristian Marussi <cristian.marussi@arm.com> | 2021-09-20 13:12:28 +0100 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2021-09-21 18:12:03 +0100 |
commit | 0e3dbf765fe22060acbcb8eb8c4d256e655a1247 (patch) | |
tree | efd8e86acb4e531ac740a98d72f2352ff8466299 /tools | |
parent | 59a68d4138086c015ab8241c3267eec5550fbd44 (diff) | |
download | linux-0e3dbf765fe22060acbcb8eb8c4d256e655a1247.tar.bz2 |
kselftest/arm64: signal: Skip tests if required features are missing
During initialization of a signal testcase, features declared as required
are properly checked against the running system but no action is then taken
to effectively skip such a testcase.
Fix core signals test logic to abort initialization and report such a
testcase as skipped to the KSelfTest framework.
Fixes: f96bf4340316 ("kselftest: arm64: mangle_pstate_invalid_compat_toggle and common utils")
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Reviewed-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20210920121228.35368-1-cristian.marussi@arm.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/testing/selftests/arm64/signal/test_signals_utils.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/tools/testing/selftests/arm64/signal/test_signals_utils.c b/tools/testing/selftests/arm64/signal/test_signals_utils.c index 6836510a522f..22722abc9dfa 100644 --- a/tools/testing/selftests/arm64/signal/test_signals_utils.c +++ b/tools/testing/selftests/arm64/signal/test_signals_utils.c @@ -266,16 +266,19 @@ int test_init(struct tdescr *td) td->feats_supported |= FEAT_SSBS; if (getauxval(AT_HWCAP) & HWCAP_SVE) td->feats_supported |= FEAT_SVE; - if (feats_ok(td)) + if (feats_ok(td)) { fprintf(stderr, "Required Features: [%s] supported\n", feats_to_string(td->feats_required & td->feats_supported)); - else + } else { fprintf(stderr, "Required Features: [%s] NOT supported\n", feats_to_string(td->feats_required & ~td->feats_supported)); + td->result = KSFT_SKIP; + return 0; + } } /* Perform test specific additional initialization */ |