Skip to content

Commit 81858a9

Browse files
committed
Add support for qt5reactor
1 parent 28df3af commit 81858a9

File tree

1 file changed

+22
-1
lines changed

1 file changed

+22
-1
lines changed

pytest_twisted.py

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import sys
2+
13
import decorator
24
import greenlet
35
import pytest
@@ -51,14 +53,33 @@ def stop_twisted_greenlet():
5153
gr_twisted.switch()
5254

5355

54-
def pytest_addhooks(pluginmanager):
56+
@pytest.hookimpl(trylast=True)
57+
def pytest_configure(config):
5558
global gr_twisted
59+
global reactor
60+
5661
if not gr_twisted and not reactor.running:
62+
if config.getoption('qt5reactor'):
63+
if 'twisted.internet.reactor' in sys.modules:
64+
del sys.modules['twisted.internet.reactor']
65+
66+
import qt5reactor
67+
qt5reactor.install()
68+
69+
import twisted.internet.reactor
70+
reactor = twisted.internet.reactor
71+
5772
gr_twisted = greenlet.greenlet(reactor.run)
5873
# give me better tracebacks:
5974
failure.Failure.cleanFailure = lambda self: None
6075

6176

77+
def pytest_addoption(parser):
78+
group = parser.getgroup('twisted')
79+
group.addoption('--qt5reactor', dest='qt5reactor', action='store_true',
80+
help='prepare for use with qt5reactor')
81+
82+
6283
@pytest.fixture(scope="session", autouse=True)
6384
def twisted_greenlet(request):
6485
request.addfinalizer(stop_twisted_greenlet)

0 commit comments

Comments
 (0)