From 752d23d2727109d8734e8532033c1d32626df5f6 Mon Sep 17 00:00:00 2001 From: Sadra Barikbin Date: Tue, 19 Dec 2023 01:15:58 +0330 Subject: [PATCH] Change a test to use 'pytester.runpytest' instead of using testing/python/metafunc.py::TestMetafunc::Metafunc to see if coverage get fixed --- testing/python/metafunc.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/testing/python/metafunc.py b/testing/python/metafunc.py index 7ef98ca75..80e1e4c52 100644 --- a/testing/python/metafunc.py +++ b/testing/python/metafunc.py @@ -986,11 +986,21 @@ class TestMetafunc: assert metafunc._calls[1].params == dict(x=3, y=4) assert metafunc._calls[1].id == "3-4" - def test_parametrize_with_duplicate_args(self) -> None: - metafunc = self.Metafunc(lambda x: None) - metafunc.parametrize("x", [0, 1]) - with pytest.raises(ValueError, match="duplicate 'x'"): - metafunc.parametrize("x", [2, 3]) + def test_parametrize_with_duplicate_args(self, pytester: Pytester) -> None: + pytester.makepyfile( + """ + import pytest + def pytest_generate_tests(metafunc): + metafunc.parametrize('x', [0, 1]) + metafunc.parametrize('x', [2, 3]) + + def test(x): + pass + """ + ) + result = pytester.runpytest("--collect-only") + assert any(["duplicate 'x'" in line for line in result.outlines]) + result.assert_outcomes(errors=1) def test_parametrize_with_duplicate_values(self) -> None: metafunc = self.Metafunc(lambda x, y: None)