Merge pull request #1648 from PyCQA/invalid-syntax-partial-parse

ignore config files that partially parse as flake8 configs
This commit is contained in:
Anthony Sottile 2022-08-01 19:16:39 -04:00 committed by GitHub
commit e76b59ae44
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 2 deletions

View file

@ -29,9 +29,9 @@ def _find_config_file(path: str) -> Optional[str]:
home_stat = None
dir_stat = _stat_key(path)
cfg = configparser.RawConfigParser()
while True:
for candidate in ("setup.cfg", "tox.ini", ".flake8"):
cfg = configparser.RawConfigParser()
cfg_path = os.path.join(path, candidate)
try:
cfg.read(cfg_path, encoding="UTF-8")

View file

@ -21,7 +21,9 @@ def test_config_file_without_section_is_not_considered(tmp_path):
def test_config_file_with_parse_error_is_not_considered(tmp_path, caplog):
tmp_path.joinpath("setup.cfg").write_text("[error")
# the syntax error here is deliberately to trigger a partial parse
# https://github.com/python/cpython/issues/95546
tmp_path.joinpath("setup.cfg").write_text("[flake8]\nx = 1\n...")
assert config._find_config_file(str(tmp_path)) is None