Files
datastore/ci/tests
Nikita FomichevandClaude Sonnet 4.6 5b7e6857ab CI: fix xfail/xpass detection for pytest 8+/9 and pin pytest version
In pytest 8.x and 9.x, xfail outcomes are no longer reported via the
`outcome` field as `"xfailed"`/`"xpassed"`. Instead:
- xfailed: `outcome="skipped"` + `wasxfail` field
- xpassed: `outcome="passed"` + `wasxfail` field

Normalize these before the status mapping so the fix works with both
the old format (pytest 7.x) and the current CI runner (pytest 9.0.2).

Also:
- Add `pytest==9.0.2` to integration runner `requirements.txt` (was
  previously unpinned, causing ambiguity)
- Add Python >= 3.13 requirement comment to `requirements.txt`
- Add unit tests (`ci/tests/test_pytest_xfail_xpass.py`) covering all
  four cases using the real pytest 8+/9 JSONL format
- Add temporary integration test (`test_xfail_xpass_ci_reporting`) that
  produces live `XFAIL`/`XPASS` outcomes for CI verification

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-03-11 22:27:18 +01:00
..