Skip to content

Commit 58c1023

Browse files
committed
Update tests for latest pytest-asyncio
1 parent 2f8597c commit 58c1023

2 files changed

Lines changed: 61 additions & 43 deletions

File tree

tests/test_benchmark.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import asyncio
12
from datetime import datetime
23

34
import pytest
@@ -102,9 +103,10 @@ def test_serialize_flat(benchmark):
102103

103104

104105
@pytest.mark.benchmark(group="base")
105-
def test_restore_flat(benchmark, event_loop):
106+
def test_restore_flat(benchmark):
106107
def run():
107-
event_loop.run_until_complete(Product.restore(flat_state))
108+
loop = asyncio.get_event_loop()
109+
loop.run_until_complete(Product.restore(flat_state))
108110

109111
benchmark(run)
110112

@@ -121,8 +123,9 @@ def test_serialize_nested(benchmark):
121123

122124

123125
@pytest.mark.benchmark(group="base")
124-
def test_restore_nested(benchmark, event_loop):
126+
def test_restore_nested(benchmark):
125127
def run():
126-
event_loop.run_until_complete(Page.restore(nested_state))
128+
loop = asyncio.get_event_loop()
129+
loop.run_until_complete(Page.restore(nested_state))
127130

128131
benchmark(run)

tests/test_sql_benchmark.py

Lines changed: 54 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
1+
import asyncio
2+
13
import pytest
24
from test_sql import Image, Page, db, reset_tables
35

46
assert db # fix flake8
57

68

79
@pytest.mark.benchmark(group="sql-create")
8-
def test_benchmark_create(db, event_loop, benchmark):
9-
event_loop.run_until_complete(reset_tables(Image))
10+
def test_benchmark_create(db, benchmark):
11+
loop = asyncio.get_event_loop()
12+
loop.run_until_complete(reset_tables(Image))
1013

1114
async def create_images():
1215
for i in range(100):
@@ -20,13 +23,14 @@ async def create_images():
2023
)
2124

2225
def run():
23-
event_loop.run_until_complete(create_images())
26+
loop.run_until_complete(create_images())
2427

2528
benchmark(run)
2629

2730

28-
def prepare_benchmark(event_loop, n: int):
29-
event_loop.run_until_complete(reset_tables(Image))
31+
def prepare_benchmark(n: int):
32+
loop = asyncio.get_event_loop()
33+
loop.run_until_complete(reset_tables(Image))
3034
images = []
3135

3236
async def make():
@@ -42,41 +46,44 @@ async def make():
4246
)
4347

4448
for i in range(n):
45-
event_loop.run_until_complete(make())
49+
loop.run_until_complete(make())
4650

4751
return images
4852

4953

5054
@pytest.mark.benchmark(group="sql-get")
51-
def test_benchmark_get(db, event_loop, benchmark):
55+
def test_benchmark_get(db, benchmark):
5256
"""Do a normal get query where the item is not in the cache"""
53-
prepare_benchmark(event_loop, n=1)
57+
loop = asyncio.get_event_loop()
58+
prepare_benchmark(n=1)
5459
Image.objects.cache.clear()
5560

5661
async def task():
5762
image = await Image.objects.get(name="Image 0")
5863
assert image.name == "Image 0"
5964

60-
benchmark(lambda: event_loop.run_until_complete(task()))
65+
benchmark(lambda: loop.run_until_complete(task()))
6166

6267

6368
@pytest.mark.benchmark(group="sql-get")
64-
def test_benchmark_get_cached(db, event_loop, benchmark):
69+
def test_benchmark_get_cached(db, benchmark):
6570
"""Do a normal get query where the item is in the cache"""
66-
images = prepare_benchmark(event_loop, n=1)
71+
loop = asyncio.get_event_loop()
72+
images = prepare_benchmark(n=1)
6773
assert images
6874

6975
async def task():
7076
image = await Image.objects.get(name="Image 0")
7177
assert image.name == "Image 0"
7278

73-
benchmark(lambda: event_loop.run_until_complete(task()))
79+
benchmark(lambda: loop.run_until_complete(task()))
7480

7581

7682
@pytest.mark.benchmark(group="sql-get")
77-
def test_benchmark_get_raw(db, event_loop, benchmark):
83+
def test_benchmark_get_raw(db, benchmark):
7884
"""Do a prebuilt get query with restoring without cache"""
79-
prepare_benchmark(event_loop, n=1)
85+
loop = asyncio.get_event_loop()
86+
prepare_benchmark(n=1)
8087
q = Image.objects.filter(name="Image 0").query("select")
8188
Image.objects.cache.clear()
8289

@@ -87,13 +94,14 @@ async def task():
8794
image = await Image.restore(row)
8895
assert image.name == "Image 0"
8996

90-
benchmark(lambda: event_loop.run_until_complete(task()))
97+
benchmark(lambda: loop.run_until_complete(task()))
9198

9299

93100
@pytest.mark.benchmark(group="sql-get")
94-
def test_benchmark_get_raw_str(db, event_loop, benchmark):
101+
def test_benchmark_get_raw_str(db, benchmark):
95102
"""Do a prebuilt get query with restoring without cache"""
96-
images = prepare_benchmark(event_loop, n=1)
103+
loop = asyncio.get_event_loop()
104+
images = prepare_benchmark(n=1)
97105
assert images
98106
q = str(Image.objects.filter(name="Image 0").query("select"))
99107

@@ -104,13 +112,14 @@ async def task():
104112
image = await Image.restore(row)
105113
assert image.name == "Image 0"
106114

107-
benchmark(lambda: event_loop.run_until_complete(task()))
115+
benchmark(lambda: loop.run_until_complete(task()))
108116

109117

110118
@pytest.mark.benchmark(group="sql-get")
111-
def test_benchmark_get_raw_cached(db, event_loop, benchmark):
119+
def test_benchmark_get_raw_cached(db, benchmark):
112120
"""Do a prebuilt get query with restoring with cache"""
113-
images = prepare_benchmark(event_loop, n=1)
121+
loop = asyncio.get_event_loop()
122+
images = prepare_benchmark(n=1)
114123
assert images
115124
q = Image.objects.filter(name="Image 0").query("select")
116125
# Image.objects.cache.clear()
@@ -122,13 +131,14 @@ async def task():
122131
image = await Image.restore(row)
123132
assert image.name == "Image 0"
124133

125-
benchmark(lambda: event_loop.run_until_complete(task()))
134+
benchmark(lambda: loop.run_until_complete(task()))
126135

127136

128137
@pytest.mark.benchmark(group="sql-get")
129-
def test_benchmark_get_raw_row(db, event_loop, benchmark):
138+
def test_benchmark_get_raw_row(db, benchmark):
130139
"""Do a prebuilt get query without restoring"""
131-
prepare_benchmark(event_loop, n=1)
140+
loop = asyncio.get_event_loop()
141+
prepare_benchmark(n=1)
132142
q = Image.objects.filter(name="Image 0").query("select")
133143

134144
async def task():
@@ -138,39 +148,42 @@ async def task():
138148
assert row["name"] == "Image 0"
139149
# No restore
140150

141-
benchmark(lambda: event_loop.run_until_complete(task()))
151+
benchmark(lambda: loop.run_until_complete(task()))
142152

143153

144154
@pytest.mark.benchmark(group="sql-filter")
145-
def test_benchmark_filter(db, event_loop, benchmark):
155+
def test_benchmark_filter(db, benchmark):
146156
"""Do a filter query where no items are in the cache"""
147-
prepare_benchmark(event_loop, n=1000)
157+
loop = asyncio.get_event_loop()
158+
prepare_benchmark(n=1000)
148159
Image.objects.cache.clear()
149160

150161
async def task():
151162
results = await Image.objects.filter(alpha__ne=0)
152163
assert len(results) == 996
153164

154-
benchmark(lambda: event_loop.run_until_complete(task()))
165+
benchmark(lambda: loop.run_until_complete(task()))
155166

156167

157168
@pytest.mark.benchmark(group="sql-filter")
158-
def test_benchmark_filter_cached(db, event_loop, benchmark):
169+
def test_benchmark_filter_cached(db, benchmark):
159170
"""Do a filter query where all items are in the cache"""
160-
images = prepare_benchmark(event_loop, n=1000)
171+
loop = asyncio.get_event_loop()
172+
images = prepare_benchmark(n=1000)
161173
assert images
162174

163175
async def task():
164176
results = await Image.objects.filter(alpha__ne=0)
165177
assert len(results) == 996
166178

167-
benchmark(lambda: event_loop.run_until_complete(task()))
179+
benchmark(lambda: loop.run_until_complete(task()))
168180

169181

170182
@pytest.mark.benchmark(group="sql-filter")
171-
def test_benchmark_filter_raw(db, event_loop, benchmark):
183+
def test_benchmark_filter_raw(db, benchmark):
172184
"""Do a raw filter query where no items are in the cache"""
173-
prepare_benchmark(event_loop, n=1000)
185+
loop = asyncio.get_event_loop()
186+
prepare_benchmark(n=1000)
174187
Image.objects.cache.clear()
175188
q = Image.objects.filter(alpha__ne=0).query("select")
176189

@@ -180,13 +193,14 @@ async def task():
180193
results = [await Image.restore(row) for row in await cursor.fetchall()]
181194
assert len(results) == 996
182195

183-
benchmark(lambda: event_loop.run_until_complete(task()))
196+
benchmark(lambda: loop.run_until_complete(task()))
184197

185198

186199
@pytest.mark.benchmark(group="sql-filter")
187-
def test_benchmark_filter_raw_cached(db, event_loop, benchmark):
200+
def test_benchmark_filter_raw_cached(db, benchmark):
188201
"""Do a raw filter query where all items are in the cache"""
189-
images = prepare_benchmark(event_loop, n=1000)
202+
loop = asyncio.get_event_loop()
203+
images = prepare_benchmark(n=1000)
190204
assert images
191205
# Image.objects.cache.clear()
192206
q = Image.objects.filter(alpha__ne=0).query("select")
@@ -197,13 +211,14 @@ async def task():
197211
results = [await Image.restore(row) for row in await cursor.fetchall()]
198212
assert len(results) == 996
199213

200-
benchmark(lambda: event_loop.run_until_complete(task()))
214+
benchmark(lambda: loop.run_until_complete(task()))
201215

202216

203217
@pytest.mark.benchmark(group="sql-filter")
204-
def test_benchmark_filter_raw_row(db, event_loop, benchmark):
218+
def test_benchmark_filter_raw_row(db, benchmark):
205219
"""Do a raw filter query without restoring item from rows"""
206-
prepare_benchmark(event_loop, n=1000)
220+
loop = asyncio.get_event_loop()
221+
prepare_benchmark(n=1000)
207222
# Image.objects.cache.clear()
208223
q = Image.objects.filter(alpha__ne=0).query("select")
209224

@@ -214,7 +229,7 @@ async def task():
214229
results = [row for row in await cursor.fetchall()]
215230
assert len(results) == 996
216231

217-
benchmark(lambda: event_loop.run_until_complete(task()))
232+
benchmark(lambda: loop.run_until_complete(task()))
218233

219234

220235
@pytest.mark.benchmark(group="sql-build-query")

0 commit comments

Comments
 (0)