Bug Fix 11282: config.getini returns an empty list for an option of type string absent in INI file

This commit is contained in:
TanyaAgarwal28 2023-10-11 15:32:25 +05:30
parent cfa662e493
commit 2bb9e30e08
1 changed files with 22 additions and 32 deletions

View File

@ -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: