1+ import asyncio
2+
13import pytest
24from test_sql import Image , Page , db , reset_tables
35
46assert 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