Skip to content

Commit

Permalink
Merge pull request #3267 from feuillemorte/3260-fix-pytest-section
Browse files Browse the repository at this point in the history
#3260 fix pytest section
  • Loading branch information
nicoddemus authored Feb 27, 2018
2 parents 2008554 + 1fb2457 commit 9fcbf57
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 4 deletions.
12 changes: 8 additions & 4 deletions _pytest/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -1327,10 +1327,14 @@ def determine_setup(inifile, args, warnfunc=None):
dirs = get_dirs_from_args(args)
if inifile:
iniconfig = py.iniconfig.IniConfig(inifile)
try:
inicfg = iniconfig["pytest"]
except KeyError:
inicfg = None
is_cfg_file = str(inifile).endswith('.cfg')
sections = ['tool:pytest', 'pytest'] if is_cfg_file else ['pytest']
for section in sections:
try:
inicfg = iniconfig[section]
break
except KeyError:
inicfg = None
rootdir = get_common_ancestor(dirs)
else:
ancestor = get_common_ancestor(dirs)
Expand Down
1 change: 1 addition & 0 deletions changelog/3260.bugfix.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
``[tool:pytest]`` sections in ``*.cfg`` files passed by the ``-c`` option are now properly recognized.
7 changes: 7 additions & 0 deletions testing/test_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,13 @@ def pytest_addoption(parser):
config = testdir.parseconfig("-c", "custom.cfg")
assert config.getini("custom") == "1"

testdir.makefile(".cfg", custom_tool_pytest_section="""
[tool:pytest]
custom = 1
""")
config = testdir.parseconfig("-c", "custom_tool_pytest_section.cfg")
assert config.getini("custom") == "1"

def test_absolute_win32_path(self, testdir):
temp_cfg_file = testdir.makefile(".cfg", custom="""
[pytest]
Expand Down

0 comments on commit 9fcbf57

Please sign in to comment.