Bug Fix 11282: config.getini returns an empty list for an option of type string absent in INI file
This commit is contained in:
parent
33eeda0339
commit
1d6a6d95ee
|
@ -147,6 +147,20 @@ def pytester(pytester: Pytester, monkeypatch: MonkeyPatch) -> Pytester:
|
||||||
return pytester
|
return pytester
|
||||||
|
|
||||||
|
|
||||||
|
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")
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="session")
|
@pytest.fixture(scope="session")
|
||||||
def color_mapping():
|
def color_mapping():
|
||||||
"""Returns a utility class which can replace keys in strings in the form "{NAME}"
|
"""Returns a utility class which can replace keys in strings in the form "{NAME}"
|
||||||
|
|
|
@ -222,35 +222,14 @@ def test_setinitial_conftest_subdirs(pytester: Pytester, name: str) -> None:
|
||||||
|
|
||||||
|
|
||||||
def test_my_option(pytester: Pytester):
|
def test_my_option(pytester: Pytester):
|
||||||
testdir = pytester.mkdir("test_my_option")
|
p = pytester.makepyfile(
|
||||||
conftest_content = """
|
|
||||||
import pytest
|
|
||||||
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
|
def test_x(my_option):
|
||||||
testdir.parent.joinpath("conftest.py").write_text(
|
|
||||||
conftest_content, encoding="utf-8"
|
|
||||||
)
|
|
||||||
|
|
||||||
# Create a simple test function
|
|
||||||
test_content = """
|
|
||||||
def test_example(my_option):
|
|
||||||
assert my_option is None
|
assert my_option is None
|
||||||
"""
|
"""
|
||||||
testdir.joinpath("test_my_option.py").write_text(test_content, encoding="utf-8")
|
)
|
||||||
result = pytester.runpytest(
|
result = pytester.runpytest(p)
|
||||||
str(testdir.parent)
|
result.assert_outcomes(failed=0, passed=1)
|
||||||
) # Run pytest from the root directory
|
|
||||||
assert result.ret == 0
|
|
||||||
|
|
||||||
|
|
||||||
def test_conftest_confcutdir(pytester: Pytester) -> None:
|
def test_conftest_confcutdir(pytester: Pytester) -> None:
|
||||||
|
|
Loading…
Reference in New Issue