Skip to content

Commit 61acd1a

Browse files
committed
Also test with normal fixture-produced functions
1 parent df93015 commit 61acd1a

File tree

1 file changed

+30
-18
lines changed

1 file changed

+30
-18
lines changed

testing/test_basic.py

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -495,7 +495,13 @@ def test_second(foo):
495495

496496

497497
@skip_if_no_async_await()
498-
def test_async_fixture_in_fixture(testdir, cmd_opts):
498+
@pytest.mark.parametrize('innerasync', [
499+
pytest.param(truth, id='innerasync={}'.format(truth))
500+
for truth in [True, False]
501+
])
502+
def test_async_fixture_in_fixture(testdir, cmd_opts, innerasync):
503+
maybe_async = 'async ' if innerasync else ''
504+
maybe_await = 'await ' if innerasync else ''
499505
test_file = """
500506
import itertools
501507
from twisted.internet import reactor, defer
@@ -505,38 +511,44 @@ def test_async_fixture_in_fixture(testdir, cmd_opts):
505511
@pytest_twisted.async_fixture(name='increment')
506512
async def fixture_increment():
507513
counts = itertools.count()
508-
async def increment():
514+
{maybe_async}def increment():
509515
return next(counts)
510516
511517
return increment
512518
513519
@pytest_twisted.async_fixture(name='doubleincrement')
514520
async def fixture_doubleincrement(increment):
515-
async def doubleincrement():
516-
n = await increment()
521+
{maybe_async}def doubleincrement():
522+
n = {maybe_await}increment()
517523
return n * 2
518524
519525
return doubleincrement
520526
521527
@pytest_twisted.ensureDeferred
522528
async def test_increment(increment):
523-
first = await increment()
524-
second = await increment()
529+
first = {maybe_await}increment()
530+
second = {maybe_await}increment()
525531
assert (first, second) == (0, 1)
526532
527533
@pytest_twisted.ensureDeferred
528534
async def test_doubleincrement(doubleincrement):
529-
first = await doubleincrement()
530-
second = await doubleincrement()
535+
first = {maybe_await}doubleincrement()
536+
second = {maybe_await}doubleincrement()
531537
assert (first, second) == (0, 2)
532-
"""
538+
""".format(maybe_async=maybe_async, maybe_await=maybe_await)
533539
testdir.makepyfile(test_file)
534540
rr = testdir.run(sys.executable, "-m", "pytest", "-v", *cmd_opts)
535541
assert_outcomes(rr, {"passed": 2})
536542

537543

538544
@skip_if_no_async_generators()
539-
def test_async_yield_fixture_in_fixture(testdir, cmd_opts):
545+
@pytest.mark.parametrize('innerasync', [
546+
pytest.param(truth, id='innerasync={}'.format(truth))
547+
for truth in [True, False]
548+
])
549+
def test_async_yield_fixture_in_fixture(testdir, cmd_opts, innerasync):
550+
maybe_async = 'async ' if innerasync else ''
551+
maybe_await = 'await ' if innerasync else ''
540552
test_file = """
541553
import itertools
542554
from twisted.internet import reactor, defer
@@ -546,31 +558,31 @@ def test_async_yield_fixture_in_fixture(testdir, cmd_opts):
546558
@pytest_twisted.async_yield_fixture(name='increment')
547559
async def fixture_increment():
548560
counts = itertools.count()
549-
async def increment():
561+
{maybe_async}def increment():
550562
return next(counts)
551563
552564
yield increment
553565
554566
@pytest_twisted.async_yield_fixture(name='doubleincrement')
555567
async def fixture_doubleincrement(increment):
556-
async def doubleincrement():
557-
n = await increment()
568+
{maybe_async}def doubleincrement():
569+
n = {maybe_await}increment()
558570
return n * 2
559571
560572
yield doubleincrement
561573
562574
@pytest_twisted.ensureDeferred
563575
async def test_increment(increment):
564-
first = await increment()
565-
second = await increment()
576+
first = {maybe_await}increment()
577+
second = {maybe_await}increment()
566578
assert (first, second) == (0, 1)
567579
568580
@pytest_twisted.ensureDeferred
569581
async def test_doubleincrement(doubleincrement):
570-
first = await doubleincrement()
571-
second = await doubleincrement()
582+
first = {maybe_await}doubleincrement()
583+
second = {maybe_await}doubleincrement()
572584
assert (first, second) == (0, 2)
573-
"""
585+
""".format(maybe_async=maybe_async, maybe_await=maybe_await)
574586
testdir.makepyfile(test_file)
575587
rr = testdir.run(sys.executable, "-m", "pytest", "-v", *cmd_opts)
576588
assert_outcomes(rr, {"passed": 2})

0 commit comments

Comments
 (0)