Skip to content

Update pytest requirement from >=8.4.2 to >=9.0.3 - #5

Merged
wpfleger96 merged 1 commit into
mainfrom
dependabot/uv/pytest-gte-9.0.3
Apr 24, 2026
Merged

Update pytest requirement from >=8.4.2 to >=9.0.3#5
wpfleger96 merged 1 commit into
mainfrom
dependabot/uv/pytest-gte-9.0.3

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Apr 24, 2026

Copy link
Copy Markdown

Updates the requirements on pytest to permit the latest version.

Release notes

Sourced from pytest's releases.

9.0.3

pytest 9.0.3 (2026-04-07)

Bug fixes

  • #12444: Fixed pytest.approx which now correctly takes into account ~collections.abc.Mapping keys order to compare them.

  • #13634: Blocking a conftest.py file using the -p no: option is now explicitly disallowed.

    Previously this resulted in an internal assertion failure during plugin loading.

    Pytest now raises a clear UsageError explaining that conftest files are not plugins and cannot be disabled via -p.

  • #13734: Fixed crash when a test raises an exceptiongroup with __tracebackhide__ = True.

  • #14195: Fixed an issue where non-string messages passed to unittest.TestCase.subTest() were not printed.

  • #14343: Fixed use of insecure temporary directory (CVE-2025-71176).

Improved documentation

  • #13388: Clarified documentation for -p vs PYTEST_PLUGINS plugin loading and fixed an incorrect -p example.
  • #13731: Clarified that capture fixtures (e.g. capsys and capfd) take precedence over the -s / --capture=no command-line options in Accessing captured output from a test function <accessing-captured-output>.
  • #14088: Clarified that the default pytest_collection hook sets session.items before it calls pytest_collection_finish, not after.
  • #14255: TOML integer log levels must be quoted: Updating reference documentation.

Contributor-facing changes

  • #12689: The test reports are now published to Codecov from GitHub Actions. The test statistics is visible on the web interface.

    -- by aleguy02

Commits

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Apr 24, 2026
Updates the requirements on [pytest](https://github.com/pytest-dev/pytest) to permit the latest version.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@8.4.2...9.0.3)

---
updated-dependencies:
- dependency-name: pytest
  dependency-version: 9.0.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/uv/pytest-gte-9.0.3 branch from 4796069 to 8c7c9d7 Compare April 24, 2026 23:27
@wpfleger96
wpfleger96 merged commit 6e123d7 into main Apr 24, 2026
1 check passed
@dependabot
dependabot Bot deleted the dependabot/uv/pytest-gte-9.0.3 branch April 24, 2026 23:39
wpfleger96 added a commit that referenced this pull request Aug 3, 2026
…metrics, epoch refusal, capabilities, validation

Addresses all Thufir pass-2 CRITICAL and IMPORTANT findings.

CRITICAL:
- Add DeviceAmbiguityError raised when ≥2 devices have sessions on same date
- Add _resolve_device() centralizing profile-scoped device resolution
- Add _fetch_day_sessions() returning all sessions for a resolved device/date
- Add _reduce_day_status() pure reducer implementing 5-case precedence:
  mixed identities → MIXED_VERSION; all-OK → OK; all-NOT_RUN → NOT_RUN;
  all-STALE → STALE; anything else (incl. stale+not-run) → PARTIAL
- Update find_windows(), get_nightly_summary(), get_nightly_range_summary(),
  compare_epochs(), get_contextual_events(), get_ca_analysis() to use helpers

IMPORTANT #4 (status test):
- Rename test_stale_and_not_run_find_windows_status_is_stale to _is_partial
- Flip expectation to PARTIAL (stale+not-run → PARTIAL per plan §1 line 864)
- Add plan-line citation comments to all status/precedence assertions

IMPORTANT #5 (compliance):
- get_nightly_summary() reads Day.total_therapy_hours instead of summing Session.duration_seconds
- get_nightly_range_summary() validates date_end >= date_start

IMPORTANT #6 (capabilities):
- rx_keys_present uses RX_KEYS from rx_tracker (not CROSS_VERSION_REFUSAL_KEYS)
- Add list_supported_models() to ParserRegistry aggregating parser metadata
- get_device_capabilities() uses list_supported_models()

IMPORTANT #7 (epoch refusal):
- Move RX homogeneity check before any breath queries
- Check ALL contributing sessions per night (not just first session)
- Immediately refuse with null distributions when RX violation detected

IMPORTANT #8 (corruption propagation):
- get_contextual_events() and get_ca_analysis() narrow except-Exception catches
  to re-raise ValueError (corrupt blob) while swallowing absent-channel errors

IMPORTANT #9 (input validation):
- get_contextual_events() validates event_types (non-empty strings or None)
  and min_duration (>= 0 or None)

IMPORTANT #2 (CA metrics):
- Implement preceding_mv_slope via linear regression over prior 120s MV
- Implement ps_delivered_cmh2o via mean(THERAPY_PRESSURE - EPAP) over ±5s
- Implement stability_index as CV (std/mean) of MV over prior 120s
- Fix WaveformWindowRequest window_cap_seconds bypass for full-session MV fetch
- get_ca_analysis() and get_contextual_events() now aggregate across ALL sessions

New tests:
- TestSameProfileTwoDevice: DeviceAmbiguityError for methods without device_id
- TestSplitNight: contextual events and CA analysis return from both sessions
- TestContextualEventsInputValidation: invalid event_types and min_duration
- TestNightlyRangeDateValidation: reversed date range raises ValueError

Co-authored-by: Will Pfleger <pfleger.will@gmail.com>
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant