@@ -1404,6 +1404,26 @@ def pytest_addoption(parser: Parser) -> None:
1404
1404
)
1405
1405
1406
1406
1407
+ def _get_direct_parametrize_args (node : nodes .Node ) -> List [str ]:
1408
+ """Return all direct parametrization arguments of a node, so we don't
1409
+ mistake them for fixtures.
1410
+
1411
+ Check https://github.com/pytest-dev/pytest/issues/5036.
1412
+
1413
+ These things are done later as well when dealing with parametrization
1414
+ so this could be improved.
1415
+ """
1416
+ parametrize_argnames : List [str ] = []
1417
+ for marker in node .iter_markers (name = "parametrize" ):
1418
+ if not marker .kwargs .get ("indirect" , False ):
1419
+ p_argnames , _ = ParameterSet ._parse_parametrize_args (
1420
+ * marker .args , ** marker .kwargs
1421
+ )
1422
+ parametrize_argnames .extend (p_argnames )
1423
+
1424
+ return parametrize_argnames
1425
+
1426
+
1407
1427
class FixtureManager :
1408
1428
"""pytest fixture definitions and information is stored and managed
1409
1429
from this class.
@@ -1453,25 +1473,6 @@ def __init__(self, session: "Session") -> None:
1453
1473
}
1454
1474
session .config .pluginmanager .register (self , "funcmanage" )
1455
1475
1456
- def _get_direct_parametrize_args (self , node : nodes .Node ) -> List [str ]:
1457
- """Return all direct parametrization arguments of a node, so we don't
1458
- mistake them for fixtures.
1459
-
1460
- Check https://github.com/pytest-dev/pytest/issues/5036.
1461
-
1462
- These things are done later as well when dealing with parametrization
1463
- so this could be improved.
1464
- """
1465
- parametrize_argnames : List [str ] = []
1466
- for marker in node .iter_markers (name = "parametrize" ):
1467
- if not marker .kwargs .get ("indirect" , False ):
1468
- p_argnames , _ = ParameterSet ._parse_parametrize_args (
1469
- * marker .args , ** marker .kwargs
1470
- )
1471
- parametrize_argnames .extend (p_argnames )
1472
-
1473
- return parametrize_argnames
1474
-
1475
1476
def getfixtureinfo (
1476
1477
self ,
1477
1478
node : nodes .Item ,
@@ -1503,7 +1504,7 @@ def getfixtureinfo(
1503
1504
)
1504
1505
initialnames = usefixtures + argnames
1505
1506
initialnames , names_closure , arg2fixturedefs = self .getfixtureclosure (
1506
- initialnames , node , ignore_args = self . _get_direct_parametrize_args (node )
1507
+ initialnames , node , ignore_args = _get_direct_parametrize_args (node )
1507
1508
)
1508
1509
return FuncFixtureInfo (argnames , initialnames , names_closure , arg2fixturedefs )
1509
1510
0 commit comments