Skip to content

Commit 35531e7

Browse files
authored
Merge branch 'master' into 31-altendky-async_callbacks
2 parents 39c090b + 295b86f commit 35531e7

File tree

4 files changed

+38
-27
lines changed

4 files changed

+38
-27
lines changed

pytest.ini

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[pytest]
2+
filterwarnings = error

pytest_twisted.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,6 @@ class _instances:
2626
reactor = None
2727

2828

29-
def pytest_namespace():
30-
return {
31-
"inlineCallbacks": inlineCallbacks,
32-
"async_yield": async_yield,
33-
"async_await": async_await,
34-
"blockon": blockon,
35-
}
36-
37-
3829
def blockon(d):
3930
if _config.external_reactor:
4031
return block_from_thread(d)
@@ -201,4 +192,8 @@ def pytest_addoption(parser):
201192

202193

203194
def pytest_configure(config):
195+
pytest.inlineCallbacks = inlineCallbacks
196+
pytest.blockon = blockon
197+
pytest.async_yield = async_yield
198+
pytest.async_await = async_await
204199
reactor_installers[config.getoption("reactor")]()

testing/test_basic.py

Lines changed: 30 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,10 @@ def format_run_result_output_for_assert(run_result):
3131
)
3232

3333

34-
def skip_if_reactor_not(expected_reactor):
35-
actual_reactor = pytest.config.getoption("reactor", "default")
36-
return pytest.mark.skipif(
37-
actual_reactor != expected_reactor,
38-
reason="reactor is {} not {}".format(actual_reactor, expected_reactor),
39-
)
34+
def skip_if_reactor_not(request, expected_reactor):
35+
actual_reactor = request.config.getoption("reactor", "default")
36+
if actual_reactor != expected_reactor:
37+
pytest.skip("reactor is {} not {}".format(actual_reactor, expected_reactor))
4038

4139

4240
def skip_if_no_async_await():
@@ -52,6 +50,22 @@ def cmd_opts(request):
5250
return ("--reactor={}".format(reactor),)
5351

5452

53+
def test_inline_callbacks_in_pytest():
54+
assert hasattr(pytest, 'inlineCallbacks')
55+
56+
57+
def test_blockon_in_pytest():
58+
assert hasattr(pytest, 'blockon')
59+
60+
61+
def test_async_yield_in_pytest():
62+
assert hasattr(pytest, 'async_yield')
63+
64+
65+
def test_async_await_in_pytest():
66+
assert hasattr(pytest, 'async_await')
67+
68+
5569
def test_async_yield_is_inlineCallbacks():
5670
assert pytest_twisted.async_yield is pytest_twisted.inlineCallbacks
5771

@@ -226,8 +240,8 @@ async def test_succeed(foo):
226240
assert_outcomes(rr, {"passed": 2, "failed": 1})
227241

228242

229-
@skip_if_reactor_not("default")
230-
def test_blockon_in_hook(testdir, cmd_opts):
243+
def test_blockon_in_hook(testdir, cmd_opts, request):
244+
skip_if_reactor_not(request, "default")
231245
conftest_file = """
232246
import pytest_twisted as pt
233247
from twisted.internet import reactor, defer
@@ -254,8 +268,8 @@ def test_succeed():
254268
assert_outcomes(rr, {"passed": 1})
255269

256270

257-
@skip_if_reactor_not("default")
258-
def test_wrong_reactor(testdir, cmd_opts):
271+
def test_wrong_reactor(testdir, cmd_opts, request):
272+
skip_if_reactor_not(request, "default")
259273
conftest_file = """
260274
def pytest_addhooks():
261275
import twisted.internet.reactor
@@ -271,8 +285,8 @@ def test_succeed():
271285
assert "WrongReactorAlreadyInstalledError" in rr.stderr.str()
272286

273287

274-
@skip_if_reactor_not("qt5reactor")
275-
def test_blockon_in_hook_with_qt5reactor(testdir, cmd_opts):
288+
def test_blockon_in_hook_with_qt5reactor(testdir, cmd_opts, request):
289+
skip_if_reactor_not(request, "qt5reactor")
276290
conftest_file = """
277291
import pytest_twisted as pt
278292
import pytestqt
@@ -301,8 +315,8 @@ def test_succeed():
301315
assert_outcomes(rr, {"passed": 1})
302316

303317

304-
@skip_if_reactor_not("qt5reactor")
305-
def test_wrong_reactor_with_qt5reactor(testdir, cmd_opts):
318+
def test_wrong_reactor_with_qt5reactor(testdir, cmd_opts, request):
319+
skip_if_reactor_not(request, "qt5reactor")
306320
conftest_file = """
307321
def pytest_addhooks():
308322
import twisted.internet.default
@@ -318,8 +332,8 @@ def test_succeed():
318332
assert "WrongReactorAlreadyInstalledError" in rr.stderr.str()
319333

320334

321-
@skip_if_reactor_not("default")
322-
def test_pytest_from_reactor_thread(testdir):
335+
def test_pytest_from_reactor_thread(testdir, request):
336+
skip_if_reactor_not(request, "default")
323337
test_file = """
324338
import pytest
325339
import pytest_twisted

tox.ini

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ deps=
1616
qt5reactor: pyqt5
1717
win: pywin32
1818
commands=
19-
defaultreactor: py.test --reactor=default
20-
qt5reactor: py.test --reactor=qt5reactor
19+
defaultreactor: pytest --reactor=default
20+
qt5reactor: pytest --reactor=qt5reactor
2121
sitepackages=False
2222

2323
[testenv:linting]

0 commit comments

Comments
 (0)