@@ -42,7 +42,12 @@ def skip_if_reactor_not(expected_reactor):
42
42
)
43
43
44
44
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 ):
46
51
testdir .makepyfile ("""
47
52
from twisted.internet import reactor, defer
48
53
@@ -57,11 +62,11 @@ def doit():
57
62
reactor.callLater(0.01, doit)
58
63
return d
59
64
""" )
60
- rr = testdir .run (sys .executable , "-m" , "pytest" )
65
+ rr = testdir .run (sys .executable , "-m" , "pytest" , * cmd_opts )
61
66
assert_outcomes (rr , {'failed' : 1 })
62
67
63
68
64
- def test_succeed_later (testdir ):
69
+ def test_succeed_later (testdir , cmd_opts ):
65
70
testdir .makepyfile ("""
66
71
from twisted.internet import reactor, defer
67
72
@@ -70,31 +75,31 @@ def test_succeed():
70
75
reactor.callLater(0.01, d.callback, 1)
71
76
return d
72
77
""" )
73
- rr = testdir .run (sys .executable , "-m" , "pytest" )
78
+ rr = testdir .run (sys .executable , "-m" , "pytest" , * cmd_opts )
74
79
assert_outcomes (rr , {'passed' : 1 })
75
80
76
81
77
- def test_non_deferred (testdir ):
82
+ def test_non_deferred (testdir , cmd_opts ):
78
83
testdir .makepyfile ("""
79
84
from twisted.internet import reactor, defer
80
85
81
86
def test_succeed():
82
87
return 42
83
88
""" )
84
- rr = testdir .run (sys .executable , "-m" , "pytest" )
89
+ rr = testdir .run (sys .executable , "-m" , "pytest" , * cmd_opts )
85
90
assert_outcomes (rr , {'passed' : 1 })
86
91
87
92
88
- def test_exception (testdir ):
93
+ def test_exception (testdir , cmd_opts ):
89
94
testdir .makepyfile ("""
90
95
def test_more_fail():
91
96
raise RuntimeError("foo")
92
97
""" )
93
- rr = testdir .run (sys .executable , "-m" , "pytest" )
98
+ rr = testdir .run (sys .executable , "-m" , "pytest" , * cmd_opts )
94
99
assert_outcomes (rr , {'failed' : 1 })
95
100
96
101
97
- def test_inlineCallbacks (testdir ):
102
+ def test_inlineCallbacks (testdir , cmd_opts ):
98
103
testdir .makepyfile ("""
99
104
from twisted.internet import reactor, defer
100
105
import pytest
@@ -112,11 +117,11 @@ def test_succeed(foo):
112
117
if foo == "web":
113
118
raise RuntimeError("baz")
114
119
""" )
115
- rr = testdir .run (sys .executable , "-m" , "pytest" , "-v" )
120
+ rr = testdir .run (sys .executable , "-m" , "pytest" , "-v" , * cmd_opts )
116
121
assert_outcomes (rr , {'passed' : 2 , 'failed' : 1 })
117
122
118
123
119
- def test_twisted_greenlet (testdir ):
124
+ def test_twisted_greenlet (testdir , cmd_opts ):
120
125
testdir .makepyfile ("""
121
126
import pytest, greenlet
122
127
@@ -134,11 +139,11 @@ def test_MAIN():
134
139
assert MAIN is greenlet.getcurrent()
135
140
136
141
""" )
137
- rr = testdir .run (sys .executable , "-m" , "pytest" , "-v" )
142
+ rr = testdir .run (sys .executable , "-m" , "pytest" , "-v" , * cmd_opts )
138
143
assert_outcomes (rr , {'passed' : 1 })
139
144
140
145
141
- def test_blockon_in_fixture (testdir ):
146
+ def test_blockon_in_fixture (testdir , cmd_opts ):
142
147
testdir .makepyfile ("""
143
148
from twisted.internet import reactor, defer
144
149
import pytest
@@ -160,13 +165,13 @@ def test_succeed(foo):
160
165
if x == "web":
161
166
raise RuntimeError("baz")
162
167
""" )
163
- rr = testdir .run (sys .executable , "-m" , "pytest" , "-v" )
168
+ rr = testdir .run (sys .executable , "-m" , "pytest" , "-v" , * cmd_opts )
164
169
# assert not rr
165
170
assert_outcomes (rr , {'passed' : 2 , 'failed' : 1 })
166
171
167
172
168
173
@skip_if_reactor_not ('default' )
169
- def test_blockon_in_hook (testdir ):
174
+ def test_blockon_in_hook (testdir , cmd_opts ):
170
175
testdir .makeconftest ("""
171
176
import pytest_twisted as pt
172
177
from twisted.internet import reactor, defer
@@ -187,26 +192,26 @@ def test_succeed():
187
192
reactor.callLater(0.01, d.callback, 1)
188
193
return d
189
194
""" )
190
- rr = testdir .run (sys .executable , "-m" , "pytest" , "-v" )
195
+ rr = testdir .run (sys .executable , "-m" , "pytest" , "-v" , * cmd_opts )
191
196
assert_outcomes (rr , {'passed' : 1 })
192
197
193
198
194
199
@skip_if_reactor_not ('default' )
195
- def test_wrong_reactor (testdir ):
200
+ def test_wrong_reactor (testdir , cmd_opts ):
196
201
testdir .makepyfile ("""
197
202
import twisted.internet.reactor
198
203
twisted.internet.reactor = None
199
204
200
205
def test_succeed():
201
206
pass
202
207
""" )
203
- rr = testdir .run (sys .executable , "-m" , "pytest" , "-v" )
208
+ rr = testdir .run (sys .executable , "-m" , "pytest" , "-v" , * cmd_opts )
204
209
assert 'WrongReactorAlreadyInstalledError' in rr .stdout .str ()
205
210
assert_outcomes (rr , {'error' : 1 })
206
211
207
212
208
213
@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 ):
210
215
testdir .makeconftest ("""
211
216
import pytest_twisted as pt
212
217
import pytestqt
@@ -231,26 +236,25 @@ def test_succeed():
231
236
reactor.callLater(0.01, d.callback, 1)
232
237
return d
233
238
""" )
234
- rr = testdir .run (sys .executable , "-m" , "pytest" , "-v" )
239
+ rr = testdir .run (sys .executable , "-m" , "pytest" , "-v" , * cmd_opts )
235
240
assert_outcomes (rr , {'passed' : 1 })
236
241
237
242
238
243
@skip_if_reactor_not ('qt5reactor' )
239
- def test_wrong_reactor_with_qt5reactor (testdir ):
244
+ def test_wrong_reactor_with_qt5reactor (testdir , cmd_opts ):
240
245
testdir .makepyfile ("""
241
246
import twisted.internet.default
242
247
twisted.internet.default.install()
243
248
244
249
def test_succeed():
245
250
pass
246
251
""" )
247
- rr = testdir .run (
248
- sys .executable , "-m" , "pytest" , "-v" , "--reactor=qt5reactor"
249
- )
252
+ rr = testdir .run (sys .executable , "-m" , "pytest" , "-v" , * cmd_opts )
250
253
assert 'WrongReactorAlreadyInstalledError' in rr .stdout .str ()
251
254
assert_outcomes (rr , {'error' : 1 })
252
255
253
256
257
+ @skip_if_reactor_not ('default' )
254
258
def test_pytest_from_reactor_thread (testdir ):
255
259
testdir .makepyfile ("""
256
260
import pytest
0 commit comments