mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
selftests/futex: Dynamically skip unsupported tests
Some new futex tests rely on kernel features that may not be supported on all configurations (e.g., FUTEX2_NUMA or PR_FUTEX_HASH). Currently, these tests fail with EINVAL when the features are missing. Add dynamic skip logic to: - futex_priv_hash: Skip if PR_FUTEX_HASH returns ENOSYS or EINVAL. - futex_numa_mpol: Skip if futex2 or FUTEX2_NUMA returns ENOSYS or EINVAL. This allows the tests to pass (as SKIPPED) on kernels without support, while preserving coverage on configurations that do support them. [ tglx: Adapt to harness changes, massage change log ] Signed-off-by: Wake Liu <wakel@google.com> Signed-off-by: Thomas Gleixner <tglx@kernel.org> Link: https://patch.msgid.link/20260624070223.1533167-1-wakel@google.com
This commit is contained in:
committed by
Thomas Gleixner
parent
90a0286c7d
commit
50c121e5a5
@@ -107,6 +107,9 @@ static void __test_futex(struct __test_metadata *_metadata, void *futex_ptr, int
|
||||
break;
|
||||
}
|
||||
if (ret < 0) {
|
||||
if (errno == ENOSYS || (errno == EINVAL && (futex_flags & FUTEX2_NUMA)))
|
||||
SKIP(return, "futex2 or FUTEX2_NUMA not supported by kernel");
|
||||
|
||||
ASSERT_GE(ret, 0) {
|
||||
TH_LOG("Failed futex2_wake(%d, 0x%x): %s",
|
||||
to_wake, futex_flags, strerror(errno));
|
||||
|
||||
@@ -143,6 +143,9 @@ TEST(priv_hash)
|
||||
|
||||
/* First thread, expect to be 0, not yet initialized */
|
||||
ret = futex_hash_slots_get();
|
||||
if (ret < 0 && errno == EINVAL)
|
||||
SKIP(return, "PR_FUTEX_HASH not supported by kernel");
|
||||
|
||||
ASSERT_EQ(ret, 0)
|
||||
TH_LOG("futex_hash_slots_get() failed: %d, %s", ret, strerror(errno));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user