[Devel] [PATCH hci-8.1 5/6] selftests/futex: fail run.sh when a test fails
no-reply at sashiko.virtuozzo.com
no-reply at sashiko.virtuozzo.com
Mon Oct 26 15:47:01 MSK 2026
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] selftests/futex: futex_wait_wouldblock reports PASS on futex_waitv failure
--
commit af44cf5afc0f94fd2ab55dd4e0f6be72e650b92f
Author: Eva Kurchatova <eva.kurchatova at virtuozzo.com>
selftests/futex: fail run.sh when a test fails
This patch changes run.sh in the futex functional selftests so that it
records a failure from any test binary and exits 1 at the end. Before this,
run.sh exited with the status of the last test only.
Link: https://virtuozzo.atlassian.net/browse/VSTOR-134205
> diff --git a/tools/testing/selftests/futex/functional/run.sh b/tools/testing/selftests/futex/functional/run.sh
> --- a/tools/testing/selftests/futex/functional/run.sh
> +++ b/tools/testing/selftests/futex/functional/run.sh
[ ... ]
> echo
> -./futex_wait_wouldblock $COLOR
> +./futex_wait_wouldblock $COLOR || ret=1
[Severity: Medium]
This isn't a bug in run.sh itself, but it exposes a reporting problem in
futex_wait_wouldblock.c that this patch does not address.
In main() of futex_wait_wouldblock.c, the futex_waitv failure branch
reports a pass and then sets a failing return value:
res = futex_waitv(&waitv, 1, 0, &to, CLOCK_MONOTONIC);
if (!res || errno != EWOULDBLOCK) {
ksft_test_result_pass("futex_waitv returned: %d %s\n",
res ? errno : res,
res ? strerror(errno) : "");
ret = RET_FAIL;
}
If futex_waitv() returns 0, or fails with an errno other than EWOULDBLOCK,
the test prints an "ok" line and then exits non-zero.
Before this patch, run.sh ignored that exit status. With the new
"|| ret=1", run.sh now exits 1 on this path, but the output contains no
failing line to explain why.
The preceding futex_wait branch in the same function uses
ksft_test_result_fail() for the equivalent condition.
Should the futex_waitv failure branch call ksft_test_result_fail() instead
of ksft_test_result_pass()?
I compared this commit with the end of the series (d7a86a7b) and found no
change to futex_wait_wouldblock.c. The patch that touches futex_waitv.c does
not cover it either.
> echo
> -./futex_wait_uninitialized_heap $COLOR
> -./futex_wait_private_mapped_file $COLOR
> +./futex_wait_uninitialized_heap $COLOR || ret=1
> +./futex_wait_private_mapped_file $COLOR || ret=1
[ ... ]
> +./futex_numa_mpol $COLOR || ret=1
> +
> +exit $ret
--
Sashiko AI review · https://sashiko.vzint.dev/#/patchset/20261026124139.606106-1-eva.kurchatova@virtuozzo.com?part=5
More information about the Devel
mailing list