Skip to content

Commit bc05106

Browse files
committed
Use namespace in PyLinter and tests
1 parent 0ea91bd commit bc05106

File tree

8 files changed

+30
-24
lines changed

8 files changed

+30
-24
lines changed

doc/test_messages_documentation.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def __init__(self, test_file: Tuple[str, Path]) -> None:
6161
_test_reporter = FunctionalTestReporter()
6262

6363
self._linter = PyLinter()
64-
self._linter.config.persistent = 0
64+
self._linter.namespace.persistent = 0
6565
checkers.initialize(self._linter)
6666

6767
# Check if this message has a custom configuration file (e.g. for enabling optional checkers).

pylint/lint/pylinter.py

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -839,6 +839,12 @@ def _parse_error_mode(self) -> None:
839839

840840
self.disable_noerror_messages()
841841
self.disable("miscellaneous")
842+
self._arg_parser.parse_args(
843+
["--reports", "no", "--score", "no", "--persistent", "no"], self.namespace
844+
)
845+
846+
# pylint: disable-next=fixme
847+
# TODO: Potentially remove after 'set_option' has been refactored
842848
self.set_option("reports", False)
843849
self.set_option("persistent", False)
844850
self.set_option("score", False)
@@ -1060,7 +1066,7 @@ def check(self, files_or_modules: Union[Sequence[str], str]) -> None:
10601066
files_or_modules = (files_or_modules,) # type: ignore[assignment]
10611067
if self.namespace.recursive:
10621068
files_or_modules = tuple(self._discover_files(files_or_modules))
1063-
if self.config.from_stdin:
1069+
if self.namespace.from_stdin:
10641070
if len(files_or_modules) != 1:
10651071
raise exceptions.InvalidArgsError(
10661072
"Missing filename required for --from-stdin"
@@ -1354,12 +1360,14 @@ def _check_astroid_module(
13541360
def open(self):
13551361
"""Initialize counters."""
13561362
self.stats = LinterStats()
1357-
MANAGER.always_load_extensions = self.config.unsafe_load_any_extension
1358-
MANAGER.max_inferable_values = self.config.limit_inference_results
1359-
MANAGER.extension_package_whitelist.update(self.config.extension_pkg_allow_list)
1360-
if self.config.extension_pkg_whitelist:
1363+
MANAGER.always_load_extensions = self.namespace.unsafe_load_any_extension
1364+
MANAGER.max_inferable_values = self.namespace.limit_inference_results
1365+
MANAGER.extension_package_whitelist.update(
1366+
self.namespace.extension_pkg_allow_list
1367+
)
1368+
if self.namespace.extension_pkg_whitelist:
13611369
MANAGER.extension_package_whitelist.update(
1362-
self.config.extension_pkg_whitelist
1370+
self.namespace.extension_pkg_whitelist
13631371
)
13641372
self.stats.reset_message_count()
13651373
self._ignore_paths = get_global_option(self, "ignore-paths")
@@ -1385,7 +1393,7 @@ def generate_reports(self):
13851393
self.reporter.display_reports(sect)
13861394
score_value = self._report_evaluation()
13871395
# save results if persistent run
1388-
if self.config.persistent:
1396+
if self.namespace.persistent:
13891397
config.save_results(self.stats, self.file_state.base_name)
13901398
else:
13911399
self.reporter.on_close(self.stats, LinterStats())
@@ -1424,7 +1432,7 @@ def _report_evaluation(self):
14241432
if pnote is not None:
14251433
msg += f" (previous run: {pnote:.2f}/10, {note - pnote:+.2f})"
14261434

1427-
if self.config.score:
1435+
if self.namespace.score:
14281436
sect = report_nodes.EvaluationSection(msg)
14291437
self.reporter.display_reports(sect)
14301438
return note

pylint/reporters/text.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ def __init__(self, output: Optional[TextIO] = None) -> None:
172172

173173
def on_set_current_module(self, module: str, filepath: Optional[str]) -> None:
174174
"""Set the format template to be used and check for unrecognized arguments."""
175-
template = str(self.linter.config.msg_template or self._template)
175+
template = str(self.linter.namespace.msg_template or self._template)
176176

177177
# Return early if the template is the same as the previous one
178178
if template == self._template:

pylint/testutils/global_test_linter.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ def create_test_linter():
1111
test_reporter = GenericTestReporter()
1212
linter_ = PyLinter()
1313
linter_.set_reporter(test_reporter)
14-
linter_.config.persistent = 0
14+
linter_.namespace.persistent = 0
1515
checkers.initialize(linter_)
1616
return linter_
1717

pylint/testutils/lint_module_test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def __init__(
4141
) -> None:
4242
_test_reporter = FunctionalTestReporter()
4343
self._linter = PyLinter()
44-
self._linter.config.persistent = 0
44+
self._linter.namespace.persistent = 0
4545
checkers.initialize(self._linter)
4646

4747
# See if test has its own .rc file, if so we use that one

tests/lint/unittest_lint.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -732,7 +732,7 @@ def test_custom_should_analyze_file() -> None:
732732
reporter = testutils.GenericTestReporter()
733733
linter = _CustomPyLinter()
734734
linter.namespace.jobs = jobs
735-
linter.config.persistent = 0
735+
linter.namespace.persistent = 0
736736
linter.open()
737737
linter.set_reporter(reporter)
738738

@@ -765,7 +765,7 @@ def test_multiprocessing(jobs: int) -> None:
765765
reporter = testutils.GenericTestReporter()
766766
linter = PyLinter()
767767
linter.namespace.jobs = jobs
768-
linter.config.persistent = 0
768+
linter.namespace.persistent = 0
769769
linter.open()
770770
linter.set_reporter(reporter)
771771

tests/unittest_reporters_json.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,8 @@ def get_linter_result(score: bool, message: Dict[str, Any]) -> List[Dict[str, An
7979
reporter = JSONReporter(output)
8080
linter = PyLinter(reporter=reporter)
8181
checkers.initialize(linter)
82-
linter.config.persistent = 0
83-
linter.config.score = score
82+
linter.namespace.persistent = 0
83+
linter.namespace.score = score
8484
linter.open()
8585
linter.set_current_module("0123")
8686
linter.add_message(

tests/unittest_reporting.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def disable():
3636
def test_template_option(linter):
3737
output = StringIO()
3838
linter.reporter.out = output
39-
linter.set_option("msg-template", "{msg_id}:{line:03d}")
39+
linter.namespace.msg_template = "{msg_id}:{line:03d}"
4040
linter.open()
4141
linter.set_current_module("0123")
4242
linter.add_message("C0301", line=1, args=(1, 2))
@@ -62,9 +62,8 @@ def test_template_option_end_line(linter) -> None:
6262
"""Test the msg-template option with end_line and end_column."""
6363
output = StringIO()
6464
linter.reporter.out = output
65-
linter.set_option(
66-
"msg-template",
67-
"{path}:{line}:{column}:{end_line}:{end_column}: {msg_id}: {msg} ({symbol})",
65+
linter.namespace.msg_template = (
66+
"{path}:{line}:{column}:{end_line}:{end_column}: {msg_id}: {msg} ({symbol})"
6867
)
6968
linter.open()
7069
linter.set_current_module("my_mod")
@@ -85,9 +84,8 @@ def test_template_option_non_existing(linter) -> None:
8584
"""
8685
output = StringIO()
8786
linter.reporter.out = output
88-
linter.set_option(
89-
"msg-template",
90-
"{path}:{line}:{a_new_option}:({a_second_new_option:03d})",
87+
linter.namespace.msg_template = (
88+
"{path}:{line}:{a_new_option}:({a_second_new_option:03d})"
9189
)
9290
linter.open()
9391
with pytest.warns(UserWarning) as records:
@@ -136,7 +134,7 @@ def test_parseable_output_regression():
136134
linter = PyLinter(reporter=ParseableTextReporter())
137135

138136
checkers.initialize(linter)
139-
linter.config.persistent = 0
137+
linter.namespace.persistent = 0
140138
linter.reporter.out = output
141139
linter.set_option("output-format", "parseable")
142140
linter.open()

0 commit comments

Comments
 (0)