@@ -300,21 +300,30 @@ def _perhaps_rebind_fixture_func(func: _T, instance: Any | None) -> _T:
300
300
return func
301
301
302
302
303
+ AsyncGenFixtureParams = ParamSpec ("AsyncGenFixtureParams" )
303
304
AsyncGenFixtureYieldType = TypeVar ("AsyncGenFixtureYieldType" )
304
305
305
306
306
307
def _wrap_asyncgen_fixture (
307
- fixture_function : Callable [..., AsyncGeneratorType [AsyncGenFixtureYieldType , Any ]],
308
- ) -> Callable [..., AsyncGenFixtureYieldType ]:
308
+ fixture_function : Callable [
309
+ AsyncGenFixtureParams , AsyncGeneratorType [AsyncGenFixtureYieldType , Any ]
310
+ ],
311
+ ) -> Callable [
312
+ Concatenate [FixtureRequest , AsyncGenFixtureParams ], AsyncGenFixtureYieldType
313
+ ]:
309
314
@functools .wraps (fixture_function )
310
- def _asyncgen_fixture_wrapper (request : FixtureRequest , ** kwargs : Any ):
315
+ def _asyncgen_fixture_wrapper (
316
+ request : FixtureRequest ,
317
+ * args : AsyncGenFixtureParams .args ,
318
+ ** kwargs : AsyncGenFixtureParams .kwargs ,
319
+ ):
311
320
func = _perhaps_rebind_fixture_func (fixture_function , request .instance )
312
321
event_loop_fixture_id = _get_event_loop_fixture_id_for_async_fixture (
313
322
request , func
314
323
)
315
324
event_loop = request .getfixturevalue (event_loop_fixture_id )
316
325
kwargs .pop (event_loop_fixture_id , None )
317
- gen_obj = func (** _add_kwargs (func , kwargs , request ))
326
+ gen_obj = func (* args , * *_add_kwargs (func , kwargs , request ))
318
327
319
328
async def setup ():
320
329
res = await gen_obj .__anext__ () # type: ignore[union-attr]
0 commit comments