From 55b8ee87b0e57f3dda924e3d01ee8eaa39c4aa81 Mon Sep 17 00:00:00 2001 From: Antonio Larrosa Date: Mon, 7 Jun 2021 18:32:29 +0200 Subject: [PATCH 1/2] Add a network pytest mark for tests that use the network Sometimes it's useful to have the tests that use the network marked so they can be skipped easily when we know the network is not available. This is useful for example on SUSE and openSUSE's build servers. When building the httpx packages (actually, any package in the distribution) the network is disabled so we can assure reproducible builds (among other benefits). With this mark, it's easier to skip tests that can not succeed. --- setup.cfg | 1 + tests/client/test_proxies.py | 2 ++ tests/test_timeouts.py | 1 + 3 files changed, 4 insertions(+) diff --git a/setup.cfg b/setup.cfg index c860d819c0..eb5451d960 100644 --- a/setup.cfg +++ b/setup.cfg @@ -18,6 +18,7 @@ combine_as_imports = True addopts = -rxXs markers = copied_from(source, changes=None): mark test as copied from somewhere else, along with a description of changes made to accodomate e.g. our test setup + network: marks tests which require network connection [coverage:run] omit = venv/* diff --git a/tests/client/test_proxies.py b/tests/client/test_proxies.py index 6ea4cbe407..2817d202b9 100644 --- a/tests/client/test_proxies.py +++ b/tests/client/test_proxies.py @@ -122,6 +122,7 @@ def test_transport_for_request(url, proxies, expected): @pytest.mark.asyncio +@pytest.mark.network async def test_async_proxy_close(): try: client = httpx.AsyncClient(proxies={"https://": PROXY_URL}) @@ -130,6 +131,7 @@ async def test_async_proxy_close(): await client.aclose() +@pytest.mark.network def test_sync_proxy_close(): try: client = httpx.Client(proxies={"https://": PROXY_URL}) diff --git a/tests/test_timeouts.py b/tests/test_timeouts.py index 46a8bee8fc..c7a665c3bb 100644 --- a/tests/test_timeouts.py +++ b/tests/test_timeouts.py @@ -23,6 +23,7 @@ async def test_write_timeout(server): @pytest.mark.usefixtures("async_environment") +@pytest.mark.network async def test_connect_timeout(server): timeout = httpx.Timeout(None, connect=1e-6) From 5f7ee8e5efb1d85c39a5507598f7772522f9aae3 Mon Sep 17 00:00:00 2001 From: Antonio Larrosa Date: Wed, 16 Jun 2021 10:10:21 +0200 Subject: [PATCH 2/2] Add a better explanation for the network marker Co-authored-by: Florimond Manca <15911462+florimondmanca@users.noreply.github.com> --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index eb5451d960..8a8a8a897a 100644 --- a/setup.cfg +++ b/setup.cfg @@ -18,7 +18,7 @@ combine_as_imports = True addopts = -rxXs markers = copied_from(source, changes=None): mark test as copied from somewhere else, along with a description of changes made to accodomate e.g. our test setup - network: marks tests which require network connection + network: marks tests which require network connection. Used in 3rd-party build environments that have network disabled. [coverage:run] omit = venv/*