diff --git a/src/_pytest/python.py b/src/_pytest/python.py index 3353e2e12..12478d179 100644 --- a/src/_pytest/python.py +++ b/src/_pytest/python.py @@ -1330,8 +1330,7 @@ class Metafunc: for param_index, (param_id, param_set) in enumerate( zip(ids, parametersets) ): - if name2pseudofixturedef: - param_index = callspec_index + param_index + param_index = callspec_index * len(parametersets) + param_index newcallspec = callspec.setmulti( argnames=argnames, valset=param_set.values, diff --git a/testing/python/fixtures.py b/testing/python/fixtures.py index 6edff6ecd..cf402f30c 100644 --- a/testing/python/fixtures.py +++ b/testing/python/fixtures.py @@ -2690,12 +2690,12 @@ class TestFixtureMarker: test_mod2.py::test_func2[s2] PASSED test_mod2.py::test_func3[s2-m1] PASSED test_mod2.py::test_func3b[s2-m1] PASSED - test_mod2.py::test_func4[m1] PASSED test_mod2.py::test_func3[s2-m2] PASSED test_mod2.py::test_func3b[s2-m2] PASSED - test_mod2.py::test_func4[m2] PASSED test_mod1.py::test_func1[m1] PASSED test_mod1.py::test_func1[m2] PASSED + test_mod2.py::test_func4[m1] PASSED + test_mod2.py::test_func4[m2] PASSED """ ) @@ -2741,10 +2741,10 @@ class TestFixtureMarker: test_dynamic_parametrized_ordering.py::test2[flavor1-vxlan] PASSED test_dynamic_parametrized_ordering.py::test[flavor1-vlan] PASSED test_dynamic_parametrized_ordering.py::test2[flavor1-vlan] PASSED - test_dynamic_parametrized_ordering.py::test[flavor2-vlan] PASSED - test_dynamic_parametrized_ordering.py::test2[flavor2-vlan] PASSED test_dynamic_parametrized_ordering.py::test[flavor2-vxlan] PASSED test_dynamic_parametrized_ordering.py::test2[flavor2-vxlan] PASSED + test_dynamic_parametrized_ordering.py::test[flavor2-vlan] PASSED + test_dynamic_parametrized_ordering.py::test2[flavor2-vlan] PASSED """ ) diff --git a/testing/python/metafunc.py b/testing/python/metafunc.py index 474852be1..49361e2e7 100644 --- a/testing/python/metafunc.py +++ b/testing/python/metafunc.py @@ -1024,7 +1024,7 @@ class TestMetafunc: """ import pytest - @pytest.mark.parametrize("arg2", ['a', 'b'], scope='class') + @pytest.mark.parametrize("arg2", ['a', 'b', 'c'], scope='class') @pytest.mark.parametrize("arg1", [1, 2], scope='class') class TestClass: def test1(self, arg1, arg2): @@ -1041,10 +1041,14 @@ class TestMetafunc: r" ", r" ", r" ", + r" ", + r" ", r" ", r" ", r" ", r" ", + r" ", + r" ", ] )