Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/test-suite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ jobs:
runs-on: "ubuntu-latest"

strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]

steps:
- uses: "actions/checkout@v4"
Expand Down
16 changes: 8 additions & 8 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,19 @@ chardet==5.2.0
# Documentation
mkdocs==1.6.1
mkautodoc==0.2.0
mkdocs-material==9.6.18
mkdocs-material==9.6.21

# Packaging
build==1.3.0
twine==6.1.0
twine==6.2.0

# Tests & Linting
coverage[toml]==7.10.6
cryptography==45.0.7
mypy==1.17.1
pytest==8.4.1
ruff==0.12.11
coverage[toml]==7.10.7
cryptography==46.0.2
mypy==1.18.2
pytest==8.4.2
ruff==0.13.2
trio==0.31.0
trio-typing==0.10.0
trustme==1.2.1
uvicorn==0.35.0
uvicorn==0.37.0
3 changes: 3 additions & 0 deletions tests/test_timeouts.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import sys

import pytest

import httpx
Expand All @@ -13,6 +15,7 @@ async def test_read_timeout(server):


@pytest.mark.anyio
@pytest.mark.xfail(sys.version_info >= (3, 14), reason="Fix trio on Python >= 3.14")

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this test marked as xfail?

Copy link
Contributor Author

@cclauss cclauss Oct 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because it fails. That is what xfail means.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then it should fail, not being tolerated. Unless there's a valid rationale to mark as xfail

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You've marked this as "Fix trio on Python >= 3.14"...

  • Can you confirm that you've observed this test hanging on trio and not on asyncio?
  • Is there a relevant issue for this against trio?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Yes. (Is there a way to write the xfail to only pertain to trio?) -- asyncio passes.
  • I will create one.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

async def test_write_timeout(server):
timeout = httpx.Timeout(None, write=1e-6)

Expand Down