diff options
| author | Sasha Levin <sashal@kernel.org> | 2026-10-14 16:01:09 -0400 |
|---|---|---|
| committer | Shuah Khan <skhan@linuxfoundation.org> | 2026-10-15 13:20:16 -0600 |
| commit | 907d138279ee3747efedc9f7403d8b0edb52aca2 (patch) | |
| tree | a37334cad2bd23edf9fa800cfc51765bb882a318 /scripts | |
| parent | cec2b4f55cf66e77019308442b4fbb555f551c30 (diff) | |
selftests: keep the build status from wrapping to success
The top-level all and install rules return failure only when every
selected target fails, which commit cad6f32665cb ("selftests: Deescalate
error reporting") deliberately kept as the default. They implement this
by multiplying the exit statuses of the targets:
ret=$$((ret * $$?))
A failing recursive make exits with status 2, so eight failing targets
produce 256, and "exit 256" reports success. Building eight or more
targets that all fail therefore succeeds, and install goes on to
package an empty installation.
Record a successful target instead of multiplying statuses. The rules
still fail only when no target succeeds, and FORCE_TARGETS still stops
at the first failure.
Link: https://lore.kernel.org/r/20261014200115.1363363-2-sashal@kernel.org
Fixes: 5f70bde26a48 ("selftests: fix build behaviour on targets' failures")
Signed-off-by: Sasha Levin <sashal@kernel.org>
Reviewed-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions
