Skip to content

runtime: reject kselftest passes without reported cases - #3247

Merged
nuclearcat merged 1 commit into
kernelci:mainfrom
nuclearcat:fix/kselftest-missing-results
Oct 21, 2026
Merged

nuclearcat merged 1 commit into
kernelci:mainfrom
nuclearcat:fix/kselftest-missing-results

Conversation

@nuclearcat

Copy link
Copy Markdown
Member

A completed LAVA job can contain only successful setup results after its test signals are lost. Pull-lab summaries can also report success without supplying cases. Mark these kselftest jobs incomplete when no cases are reported, preserving genuine case results and setup-only baseline jobs. Use the existing Test error code so the API accepts the result and the KCIDB bridge reports ERROR.

Observed in production: a coredump ramdisk job was marked pass with only setup results, although its serial log reported a shard failure. This guard prevents an empty result from claiming coverage; it does not reconstruct test signals lost by the lab.

Validation: all 194 unit tests pass, including missing/empty LAVA suites, missing pull-lab cases, reported failures behind passing summaries, baseline behavior, and API error-code validation. CI-pinned Ruff lint and format checks pass. make test stops at an existing mypy error in kernelci/api/latest.py:181, also reproduced on untouched upstream/main.

A completed LAVA job can contain only successful setup results after test
signals are lost. A pull-lab summary can likewise claim success without
supplying any cases. Both callbacks currently retain a passing job result.

Mark these kselftest jobs incomplete rather than claiming test coverage.
Preserve boot-only baseline behavior and genuine reported case results.
Use the existing Test error code: it is accepted by the API and maps to
ERROR in the KCIDB bridge without a coordinated schema deployment.

Add regressions for absent and empty LAVA suites, setup-only baseline
jobs, missing pull-lab cases, real failures behind passing summaries, and
API error-code validation.

Signed-off-by: Denys Fedoryshchenko <denys.f@collabora.com>
@nuclearcat

Copy link
Copy Markdown
Member Author

LAVA job 23252115: 191 kselftest cases passed, plus two setup checks.
https://lava.collabora.dev/scheduler/job/23252115/

@nuclearcat
nuclearcat added this pull request to the merge queue Oct 21, 2026
Merged via the queue into kernelci:main with commit 0454350 Oct 21, 2026
3 checks passed
@nuclearcat
nuclearcat deleted the fix/kselftest-missing-results branch October 21, 2026 14:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant