@@ -210,53 +210,34 @@ def test_succeed(foo):
210
210
@skip_if_no_async_generators ()
211
211
def test_async_fixture_concurrent_teardown (testdir , cmd_opts ):
212
212
test_file = """
213
- import time
214
-
215
213
from twisted.internet import reactor, defer
216
214
import pytest
217
215
import pytest_twisted
218
216
219
- def sleep(seconds):
220
- d = defer.Deferred()
221
-
222
- reactor.callLater(seconds, d.callback, None)
223
-
224
- return d
225
-
226
- short_times = []
227
- long_times = []
228
217
229
- short_time = 0.100
230
- long_time = 1
218
+ here = defer.Deferred()
219
+ there = defer.Deferred()
231
220
232
221
@pytest.fixture
233
- async def short ():
222
+ async def this ():
234
223
yield 42
235
224
236
- short_times.append(time.time())
237
- await sleep(short_time)
238
- short_times.append(time.time())
225
+ there.callback(None)
226
+ await here
239
227
240
228
@pytest.fixture
241
- async def long ():
229
+ async def that ():
242
230
yield 37
243
231
244
- long_times.append(time.time())
245
- await sleep(short_time)
246
- long_times.append(time.time())
232
+ here.callback(None)
233
+ await there
247
234
248
- assert len(short_times) == 2
249
-
250
- # long should start before short finishes
251
- assert long_times[0] < short_times[1]
252
- # short should finish before long finishes
253
- assert short_times[1] < long_times[1]
254
-
255
- @pytest_twisted.inlineCallbacks
256
- def test_succeed(short, long):
257
- yield sleep(0)
235
+ def test_succeed(this, that):
236
+ pass
258
237
"""
259
238
testdir .makepyfile (test_file )
239
+ # TODO: add a timeout, failure just hangs indefinitely for now
240
+ # https://github.com/pytest-dev/pytest/issues/4073
260
241
rr = testdir .run (sys .executable , "-m" , "pytest" , "-v" , * cmd_opts )
261
242
assert_outcomes (rr , {"passed" : 1 })
262
243
0 commit comments