From 2bb9e30e088c5e4e397c2e19bbe695773f1fa3c9 Mon Sep 17 00:00:00 2001 From: TanyaAgarwal28 <8979149361t@gmail.com> Date: Wed, 11 Oct 2023 15:32:25 +0530 Subject: [PATCH] Bug Fix 11282: config.getini returns an empty list for an option of type string absent in INI file --- testing/test_conftest.py | 54 ++++++++++++++++------------------------ 1 file changed, 22 insertions(+), 32 deletions(-) diff --git a/testing/test_conftest.py b/testing/test_conftest.py index fc6f6f3ad..665d438fd 100644 --- a/testing/test_conftest.py +++ b/testing/test_conftest.py @@ -222,40 +222,30 @@ def test_setinitial_conftest_subdirs(pytester: Pytester, name: str) -> None: def test_my_option(pytester: Pytester): - testdir = pytester.mkdir("test_my_option") - conftest_content = """\ - import pytest + pytester.makeconftest( + """\ + import pytest + def pytest_addoption(parser): + parser.addini( + "my_option", + type="string", + default=None, + help="My option", + ) - def pytest_addoption(parser): - parser.addini( - "my_option", - type="string", - default=None, - help="My option", - ) - - @pytest.fixture(scope='session') - def my_option(request): - return request.config.getini("my_option") - - """ - # Place conftest.py in the root directory of the project - testdir.parent.joinpath("conftest.py").write_text( - conftest_content, encoding="utf-8" + @pytest.fixture(scope='session') + def my_option(request): + return request.config.getini("my_option") + """ ) - - # Create a simple test function - test_content = """\ - - def test_example(my_option): - assert my_option is None - - """ - testdir.joinpath("test_my_option.py").write_text(test_content, encoding="utf-8") - result = pytester.runpytest( - str(testdir.parent) - ) # Run pytest from the root directory - assert result.ret == 0 + pytester.makepyfile( + """\ + def test_x(my_option): + assert my_option is None + """ + ) + res = pytester.runpytest() + assert res.ret == 0 def test_conftest_confcutdir(pytester: Pytester) -> None: