Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a network pytest mark for tests that use the network #1402

Closed
mcepl opened this issue Dec 19, 2023 · 0 comments · Fixed by #1403
Closed

Add a network pytest mark for tests that use the network #1402

mcepl opened this issue Dec 19, 2023 · 0 comments · Fixed by #1403

Comments

@mcepl
Copy link
Contributor

mcepl commented Dec 19, 2023

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 our packages 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.

[   15s] =================================== FAILURES ===================================
[   15s] _______________________ TestSqliteCache.test_has_expired _______________________
[   15s] 
[   15s] self = <tests.test_cache.TestSqliteCache object at 0x7facc43ae250>
[   15s] tmpdir = local('/tmp/pytest-of-abuild/pytest-0/test_has_expired0')
[   15s] 
[   15s]     def test_has_expired(self, tmpdir):
[   15s]         c = cache.SqliteCache(path=tmpdir.join("sqlite.cache.db").strpath)
[   15s]         c.add("http://tests.python-zeep.org/example.wsdl", b"content")
[   15s]     
[   15s]         freeze_dt = datetime.datetime.utcnow() + datetime.timedelta(seconds=7200)
[   15s] >       with freezegun.freeze_time(freeze_dt):
[   15s] 
[   15s] tests/test_cache.py:43: 
[   15s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[   15s] /usr/lib/python3.9/site-packages/freezegun/api.py:634: in __enter__
[   15s]     return self.start()
[   15s] /usr/lib/python3.9/site-packages/freezegun/api.py:739: in start
[   15s]     event_loop = asyncio.new_event_loop()
[   15s] /usr/lib64/python3.9/asyncio/events.py:761: in new_event_loop
[   15s]     return get_event_loop_policy().new_event_loop()
[   15s] /usr/lib64/python3.9/asyncio/events.py:659: in new_event_loop
[   15s]     return self._loop_factory()
[   15s] /usr/lib64/python3.9/asyncio/unix_events.py:54: in __init__
[   15s]     super().__init__(selector)
[   15s] /usr/lib64/python3.9/asyncio/selector_events.py:56: in __init__
[   15s]     self._make_self_pipe()
[   15s] /usr/lib64/python3.9/asyncio/selector_events.py:103: in _make_self_pipe
[   15s]     self._ssock, self._csock = socket.socketpair()
[   15s] /usr/lib64/python3.9/socket.py:607: in socketpair
[   15s]     a = socket(family, type, proto, a.detach())
[   15s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[   15s] 
[   15s] args = (<AddressFamily.AF_UNIX: 1>, <SocketKind.SOCK_STREAM: 1>, 0, 12)
[   15s] kwargs = {}
[   15s] 
[   15s]     def func(*args, **kwargs):
[   15s] >       pytest.fail("External connections not allowed during tests.")
[   15s] E       Failed: External connections not allowed during tests.
[   15s] 
[   15s] tests/conftest.py:14: Failed

Complete build log with versions of all packages used and steps taken to reproduce.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant