mirror of
https://github.com/hanzoai/datastore.git
synced 2026-09-26 13:55:07 +00:00
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]>