Skip to content

Commit c2e314b

Browse files
committed
test commit
1 parent c9ed867 commit c2e314b

File tree

2 files changed

+53
-0
lines changed

2 files changed

+53
-0
lines changed

mypy/config_parser.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,12 @@ def parse_config_file(
277277
print(f"{file_read}: No [mypy] section in config file", file=stderr)
278278
else:
279279
section = parser["mypy"]
280+
281+
if "files" in section:
282+
raw_files = section["files"]
283+
normalized_files = [file.strip() for file in raw_files.split(",") if file.strip()]
284+
section["files"] = ",".join(normalized_files)
285+
280286
prefix = f"{file_read}: [mypy]: "
281287
updates, report_dirs = parse_section(
282288
prefix, options, set_strict_flags, section, config_types, stderr

mypy/test/testconfigparser.py

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
import configparser
2+
from mypy.options import Options
3+
from mypy.config_parser import parse_config_file
4+
5+
6+
def test_parse_files_normalization():
7+
options = Options()
8+
config = """
9+
[mypy]
10+
files = file1.py, file2.py, file3.py, ,
11+
"""
12+
13+
parser = configparser.ConfigParser()
14+
parser.read_string(config)
15+
16+
parse_config_file(
17+
options,
18+
lambda: None,
19+
None,
20+
stdout=None,
21+
stderr=None,
22+
)
23+
24+
# Assert that the trailing commas and empty strings are removed
25+
assert options.files == ['file1.py', 'file2.py', 'file3.py']
26+
27+
28+
def test_parse_files_with_empty_strings():
29+
options = Options()
30+
config = """
31+
[mypy]
32+
files = ,file1.py,,file2.py
33+
"""
34+
parser = configparser.RawConfigParser()
35+
parser.read_string(config)
36+
37+
parse_config_file(
38+
options,
39+
lambda: None,
40+
None,
41+
stdout=None,
42+
stderr=None,
43+
)
44+
45+
# Assert that empty strings are ignored
46+
assert options.files == ["file1.py", "file2.py"]
47+

0 commit comments

Comments
 (0)