Skip to content

Commit 7577a72

Browse files
committed
fix: test: Gevent monkey patching (fixes #6).
Ensure `gevent` monkey patching is performed only for tests requiring it.
1 parent 0cff8b2 commit 7577a72

File tree

5 files changed

+21
-6
lines changed

5 files changed

+21
-6
lines changed

Diff for: tests/conftest.py

-4
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,6 @@
22
"""Module defines common test fixtures."""
33
from logging import getLogger
44

5-
# fmt: off
6-
from gevent.monkey import patch_all; patch_all() # noqa: E702
7-
# fmt: on
8-
95
import pytest
106

117

Diff for: tests/gevent_enabled/__init__.py

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# -*- coding: utf-8 -*-
2+
"""Package exports tests with gevent monkey patching enabled."""

Diff for: tests/benchmark_redis.py renamed to tests/gevent_enabled/benchmark_redis.py

+13-1
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,23 @@ class TestBenchmark:
1212
"""Performance test suite using MS Graph API task base class."""
1313

1414
@pytest.mark.parametrize("target_suffix", ["multi_spawn", "multi_imap", "single"])
15-
@pytest.mark.parametrize("push_mode", ["pipe"]) # "naive"
15+
@pytest.mark.parametrize(
16+
"push_mode", ["pipe"] # add "naive" push_mode for full coverage (slow!)
17+
)
1618
def test_redis_push(
1719
self, benchmark, graph_api_task, logger, push_mode, target_suffix, test_data
1820
):
1921
"""Benchmark routine to evaluate pushing records to Redis."""
22+
import gevent.socket
23+
import socket
24+
25+
logger.info(
26+
"Gevent monkey patching is %s",
27+
"ENABLED" if socket.socket is gevent.socket.socket else "DISABLED",
28+
)
29+
30+
assert socket.socket is gevent.socket.socket # noqa
31+
2032
logger.info("Start benchmark")
2133

2234
result = benchmark.pedantic(

Diff for: tests/gevent_enabled/conftest.py

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# -*- coding: utf-8 -*-
2+
"""Module defines common test fixtures."""
3+
# fmt: off
4+
from gevent.monkey import patch_all; patch_all() # noqa: E702
5+
# fmt: on

Diff for: tox.ini

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ setenv =
3030
ms_graph: _PYTEST_TOX_VAR = --variables instance/app_config.yaml
3131
ms_graph: _PYTEST_TOX_RUN = tests/test_ms_graph.py
3232

33-
benchmark: _PYTEST_TOX_RUN = tests/benchmark_redis.py
33+
benchmark: _PYTEST_TOX_RUN = tests/gevent_enabled/benchmark_redis.py
3434

3535
[coverage:run]
3636
include =

0 commit comments

Comments
 (0)