Skip to content

Commit e06e27c

Browse files
authored
Merge pull request #10 from vtitor/init-twisted-greenlet
Extract the twisted greenlet initialization to a separate function
2 parents ae15931 + 96c7660 commit e06e27c

File tree

3 files changed

+31
-5
lines changed

3 files changed

+31
-5
lines changed

.travis.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
language: python
2+
python:
3+
- "2.7"
4+
- "2.6"
5+
6+
install:
7+
- pip install tox
8+
- export TOX_ENV=`tox --listenvs | grep "py${TRAVIS_PYTHON_VERSION/./}" | tr '\n' ','`
9+
10+
script: tox -e $TOX_ENV

pytest_twisted/plugin.py

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,19 @@ def inlineCallbacks(fun, *args, **kw):
3333

3434

3535
def pytest_namespace():
36-
return dict(inlineCallbacks=inlineCallbacks, blockon=blockon)
36+
return dict(
37+
inlineCallbacks=inlineCallbacks,
38+
blockon=blockon,
39+
init_twisted_greenlet=init_twisted_greenlet
40+
)
41+
42+
43+
def init_twisted_greenlet():
44+
global gr_twisted
45+
if not gr_twisted:
46+
gr_twisted = greenlet.greenlet(reactor.run)
47+
failure.Failure.cleanFailure = lambda self: None # give me better tracebacks
48+
return gr_twisted
3749

3850

3951
def stop_twisted_greenlet():
@@ -44,11 +56,8 @@ def stop_twisted_greenlet():
4456

4557
@pytest.fixture(scope="session", autouse=True)
4658
def twisted_greenlet(request):
47-
global gr_twisted
48-
gr_twisted = greenlet.greenlet(reactor.run)
49-
failure.Failure.cleanFailure = lambda self: None # give me better tracebacks
5059
request.addfinalizer(stop_twisted_greenlet)
51-
return gr_twisted
60+
return init_twisted_greenlet()
5261

5362

5463
def _pytest_pyfunc_call(pyfuncitem):

tox.ini

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,13 @@ deps=pytest
99
commands=py.test []
1010
sitepackages=False
1111

12+
[testenv:py26]
13+
deps=pytest<3.3
14+
greenlet
15+
twisted<15.5
16+
commands=py.test []
17+
sitepackages=False
18+
1219
[testenv:py25]
1320
deps=pytest
1421
greenlet

0 commit comments

Comments
 (0)