Skip to content

Commit 3263af3

Browse files
committed
pass --reactor option to underlying calls of testdir.run
1 parent 7f11af2 commit 3263af3

File tree

1 file changed

+28
-24
lines changed

1 file changed

+28
-24
lines changed

testing/test_basic.py

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,12 @@ def skip_if_reactor_not(expected_reactor):
4242
)
4343

4444

45-
def test_fail_later(testdir):
45+
@pytest.fixture
46+
def cmd_opts(request):
47+
return '--reactor={}'.format(request.config.getoption('reactor')),
48+
49+
50+
def test_fail_later(testdir, cmd_opts):
4651
testdir.makepyfile("""
4752
from twisted.internet import reactor, defer
4853
@@ -57,11 +62,11 @@ def doit():
5762
reactor.callLater(0.01, doit)
5863
return d
5964
""")
60-
rr = testdir.run(sys.executable, "-m", "pytest")
65+
rr = testdir.run(sys.executable, "-m", "pytest", *cmd_opts)
6166
assert_outcomes(rr, {'failed': 1})
6267

6368

64-
def test_succeed_later(testdir):
69+
def test_succeed_later(testdir, cmd_opts):
6570
testdir.makepyfile("""
6671
from twisted.internet import reactor, defer
6772
@@ -70,31 +75,31 @@ def test_succeed():
7075
reactor.callLater(0.01, d.callback, 1)
7176
return d
7277
""")
73-
rr = testdir.run(sys.executable, "-m", "pytest")
78+
rr = testdir.run(sys.executable, "-m", "pytest", *cmd_opts)
7479
assert_outcomes(rr, {'passed': 1})
7580

7681

77-
def test_non_deferred(testdir):
82+
def test_non_deferred(testdir, cmd_opts):
7883
testdir.makepyfile("""
7984
from twisted.internet import reactor, defer
8085
8186
def test_succeed():
8287
return 42
8388
""")
84-
rr = testdir.run(sys.executable, "-m", "pytest")
89+
rr = testdir.run(sys.executable, "-m", "pytest", *cmd_opts)
8590
assert_outcomes(rr, {'passed': 1})
8691

8792

88-
def test_exception(testdir):
93+
def test_exception(testdir, cmd_opts):
8994
testdir.makepyfile("""
9095
def test_more_fail():
9196
raise RuntimeError("foo")
9297
""")
93-
rr = testdir.run(sys.executable, "-m", "pytest")
98+
rr = testdir.run(sys.executable, "-m", "pytest", *cmd_opts)
9499
assert_outcomes(rr, {'failed': 1})
95100

96101

97-
def test_inlineCallbacks(testdir):
102+
def test_inlineCallbacks(testdir, cmd_opts):
98103
testdir.makepyfile("""
99104
from twisted.internet import reactor, defer
100105
import pytest
@@ -112,11 +117,11 @@ def test_succeed(foo):
112117
if foo == "web":
113118
raise RuntimeError("baz")
114119
""")
115-
rr = testdir.run(sys.executable, "-m", "pytest", "-v")
120+
rr = testdir.run(sys.executable, "-m", "pytest", "-v", *cmd_opts)
116121
assert_outcomes(rr, {'passed': 2, 'failed': 1})
117122

118123

119-
def test_twisted_greenlet(testdir):
124+
def test_twisted_greenlet(testdir, cmd_opts):
120125
testdir.makepyfile("""
121126
import pytest, greenlet
122127
@@ -134,11 +139,11 @@ def test_MAIN():
134139
assert MAIN is greenlet.getcurrent()
135140
136141
""")
137-
rr = testdir.run(sys.executable, "-m", "pytest", "-v")
142+
rr = testdir.run(sys.executable, "-m", "pytest", "-v", *cmd_opts)
138143
assert_outcomes(rr, {'passed': 1})
139144

140145

141-
def test_blockon_in_fixture(testdir):
146+
def test_blockon_in_fixture(testdir, cmd_opts):
142147
testdir.makepyfile("""
143148
from twisted.internet import reactor, defer
144149
import pytest
@@ -160,13 +165,13 @@ def test_succeed(foo):
160165
if x == "web":
161166
raise RuntimeError("baz")
162167
""")
163-
rr = testdir.run(sys.executable, "-m", "pytest", "-v")
168+
rr = testdir.run(sys.executable, "-m", "pytest", "-v", *cmd_opts)
164169
# assert not rr
165170
assert_outcomes(rr, {'passed': 2, 'failed': 1})
166171

167172

168173
@skip_if_reactor_not('default')
169-
def test_blockon_in_hook(testdir):
174+
def test_blockon_in_hook(testdir, cmd_opts):
170175
testdir.makeconftest("""
171176
import pytest_twisted as pt
172177
from twisted.internet import reactor, defer
@@ -187,26 +192,26 @@ def test_succeed():
187192
reactor.callLater(0.01, d.callback, 1)
188193
return d
189194
""")
190-
rr = testdir.run(sys.executable, "-m", "pytest", "-v")
195+
rr = testdir.run(sys.executable, "-m", "pytest", "-v", *cmd_opts)
191196
assert_outcomes(rr, {'passed': 1})
192197

193198

194199
@skip_if_reactor_not('default')
195-
def test_wrong_reactor(testdir):
200+
def test_wrong_reactor(testdir, cmd_opts):
196201
testdir.makepyfile("""
197202
import twisted.internet.reactor
198203
twisted.internet.reactor = None
199204
200205
def test_succeed():
201206
pass
202207
""")
203-
rr = testdir.run(sys.executable, "-m", "pytest", "-v")
208+
rr = testdir.run(sys.executable, "-m", "pytest", "-v", *cmd_opts)
204209
assert 'WrongReactorAlreadyInstalledError' in rr.stdout.str()
205210
assert_outcomes(rr, {'error': 1})
206211

207212

208213
@skip_if_reactor_not('qt5reactor')
209-
def test_blockon_in_hook_with_qt5reactor(testdir):
214+
def test_blockon_in_hook_with_qt5reactor(testdir, cmd_opts):
210215
testdir.makeconftest("""
211216
import pytest_twisted as pt
212217
import pytestqt
@@ -231,26 +236,25 @@ def test_succeed():
231236
reactor.callLater(0.01, d.callback, 1)
232237
return d
233238
""")
234-
rr = testdir.run(sys.executable, "-m", "pytest", "-v")
239+
rr = testdir.run(sys.executable, "-m", "pytest", "-v", *cmd_opts)
235240
assert_outcomes(rr, {'passed': 1})
236241

237242

238243
@skip_if_reactor_not('qt5reactor')
239-
def test_wrong_reactor_with_qt5reactor(testdir):
244+
def test_wrong_reactor_with_qt5reactor(testdir, cmd_opts):
240245
testdir.makepyfile("""
241246
import twisted.internet.default
242247
twisted.internet.default.install()
243248
244249
def test_succeed():
245250
pass
246251
""")
247-
rr = testdir.run(
248-
sys.executable, "-m", "pytest", "-v", "--reactor=qt5reactor"
249-
)
252+
rr = testdir.run(sys.executable, "-m", "pytest", "-v", *cmd_opts)
250253
assert 'WrongReactorAlreadyInstalledError' in rr.stdout.str()
251254
assert_outcomes(rr, {'error': 1})
252255

253256

257+
@skip_if_reactor_not('default')
254258
def test_pytest_from_reactor_thread(testdir):
255259
testdir.makepyfile("""
256260
import pytest

0 commit comments

Comments
 (0)