From 3c6ecaa34610459b6e45bc59da7c284ab8672562 Mon Sep 17 00:00:00 2001 From: Pierre Sassoulas Date: Wed, 1 Apr 2026 07:51:10 +0200 Subject: [PATCH 1/2] [primer] Separate Comparator data loading from comparison logic Constructor now takes pre-loaded PackageMessages dicts, making it directly testable with in-memory data. I/O and batch merging move to a from_json() factory method; _load_json() becomes module-level. --- pylint/testutils/_primer/comparator.py | 40 +++++++++++-------- .../_primer/primer_compare_command.py | 2 +- tests/testutils/_primer/test_comparator.py | 8 ++-- 3 files changed, 28 insertions(+), 22 deletions(-) diff --git a/pylint/testutils/_primer/comparator.py b/pylint/testutils/_primer/comparator.py index 1a4d66fa6b..aad73b6d12 100644 --- a/pylint/testutils/_primer/comparator.py +++ b/pylint/testutils/_primer/comparator.py @@ -16,32 +16,38 @@ class Comparator: - def __init__( - self, base_file: str, new_file: str, batches: int | None = None - ) -> None: - self._base_file = base_file - self._new_file = new_file - self._batches = batches + """Cross-reference two primer JSON outputs and iterate over differences.""" - def __iter__(self) -> Generator[tuple[str, PackageData, PackageData]]: + def __init__(self, main_data: PackageMessages, pr_data: PackageMessages) -> None: + self._main_data = main_data + self._pr_data = pr_data + + @staticmethod + def from_json( + base_file: Path | str, new_file: Path | str, batches: int | None = None + ) -> Comparator: + """Build a Comparator from JSON file paths, handling batched runs.""" main_data: PackageMessages - if self._batches is None: - main_data = self._load_json(self._base_file) - pr_data = self._load_json(self._new_file) + pr_data: PackageMessages + if batches is None: + main_data = Comparator._load_json(base_file) + pr_data = Comparator._load_json(new_file) else: main_data = {} pr_data = {} - for idx in range(self._batches): + for idx in range(batches): + suffix = f"batch{idx}" main_data.update( - self._load_json( - self._base_file.replace("BATCHIDX", "batch" + str(idx)) - ) + Comparator._load_json(str(base_file).replace("BATCHIDX", suffix)) ) pr_data.update( - self._load_json( - self._new_file.replace("BATCHIDX", "batch" + str(idx)) - ) + Comparator._load_json(str(new_file).replace("BATCHIDX", suffix)) ) + return Comparator(main_data, pr_data) + + def __iter__(self) -> Generator[tuple[str, PackageData, PackageData]]: + main_data = self._main_data + pr_data = self._pr_data missing_messages: PackageMessages = {} for package, data in main_data.items(): diff --git a/pylint/testutils/_primer/primer_compare_command.py b/pylint/testutils/_primer/primer_compare_command.py index 72728ad139..5f029809e8 100644 --- a/pylint/testutils/_primer/primer_compare_command.py +++ b/pylint/testutils/_primer/primer_compare_command.py @@ -13,7 +13,7 @@ class CompareCommand(PrimerCommand): def run(self) -> None: - comparator = Comparator( + comparator = Comparator.from_json( self.config.base_file, self.config.new_file, self.config.batches ) comment = self._create_comment(comparator) diff --git a/tests/testutils/_primer/test_comparator.py b/tests/testutils/_primer/test_comparator.py index e91852ed25..212af59e61 100644 --- a/tests/testutils/_primer/test_comparator.py +++ b/tests/testutils/_primer/test_comparator.py @@ -18,7 +18,7 @@ ) def test_comparator(directory: Path) -> None: """Test Comparator with each fixture directory.""" - comparator = Comparator(str(directory / "main.json"), str(directory / "pr.json")) + comparator = Comparator.from_json(directory / "main.json", directory / "pr.json") expected = json.loads((directory / "expected_comparator.json").read_text("utf-8")) results = list(comparator) assert len(results) == len(expected) @@ -30,9 +30,9 @@ def test_comparator(directory: Path) -> None: def test_comparator_batched() -> None: fixture = Path(__file__).parent / "batched_cases" - comparator = Comparator( - str(fixture / "main_BATCHIDX.json"), - str(fixture / "pr_BATCHIDX.json"), + comparator = Comparator.from_json( + fixture / "main_BATCHIDX.json", + fixture / "pr_BATCHIDX.json", batches=2, ) expected = json.loads((fixture / "expected_comparator.json").read_text("utf-8")) From 7943b25b17db802fc31d1387d60bc9c74d5ff98e Mon Sep 17 00:00:00 2001 From: Pierre Sassoulas Date: Wed, 1 Apr 2026 08:40:54 +0200 Subject: [PATCH 2/2] [primer] Switch from JSONReporter to JSON2Reporter The old JSONReporter is deprecated; use JSON2Reporter which provides confidence, absolutePath, and camelCase messageId fields. Update all primer test fixtures accordingly. --- pylint/testutils/_primer/comparator.py | 4 ++-- pylint/testutils/_primer/primer_command.py | 4 ++-- .../testutils/_primer/primer_run_command.py | 14 +++++------ .../_primer/batched_cases/main_batch1.json | 8 +++++-- .../cases/confidence_changed/expected.txt | 24 +++++++++++++++++++ .../expected_comparator.json | 1 + .../cases/confidence_changed/main.json | 22 +++++++++++++++++ .../_primer/cases/confidence_changed/pr.json | 22 +++++++++++++++++ .../_primer/cases/line_moved/main.json | 4 +++- .../_primer/cases/line_moved/pr.json | 4 +++- .../_primer/cases/message_changed/main.json | 8 +++++-- .../_primer/cases/message_changed/pr.json | 8 +++++-- .../cases/message_changed_line/main.json | 8 +++++-- .../cases/message_changed_line/pr.json | 8 +++++-- .../_primer/cases/mixed_changes/main.json | 12 +++++++--- .../_primer/cases/mixed_changes/pr.json | 12 +++++++--- .../_primer/cases/new_message/pr.json | 4 +++- .../_primer/cases/no_change/main.json | 8 +++++-- .../testutils/_primer/cases/no_change/pr.json | 8 +++++-- .../_primer/cases/removed_message/main.json | 8 +++++-- .../_primer/cases/removed_message/pr.json | 4 +++- .../_primer/cases/type_changed/main.json | 8 +++++-- .../_primer/cases/type_changed/pr.json | 8 +++++-- .../_primer/cases/useless_suppression/pr.json | 8 +++++-- 24 files changed, 176 insertions(+), 43 deletions(-) create mode 100644 tests/testutils/_primer/cases/confidence_changed/expected.txt create mode 100644 tests/testutils/_primer/cases/confidence_changed/expected_comparator.json create mode 100644 tests/testutils/_primer/cases/confidence_changed/main.json create mode 100644 tests/testutils/_primer/cases/confidence_changed/pr.json diff --git a/pylint/testutils/_primer/comparator.py b/pylint/testutils/_primer/comparator.py index aad73b6d12..901a31cdbb 100644 --- a/pylint/testutils/_primer/comparator.py +++ b/pylint/testutils/_primer/comparator.py @@ -8,7 +8,7 @@ from collections.abc import Generator from pathlib import Path -from pylint.reporters.json_reporter import OldJsonExport +from pylint.reporters.json_reporter import JSONMessage from pylint.testutils._primer.primer_command import ( PackageData, PackageMessages, @@ -51,7 +51,7 @@ def __iter__(self) -> Generator[tuple[str, PackageData, PackageData]]: missing_messages: PackageMessages = {} for package, data in main_data.items(): - package_missing_messages: list[OldJsonExport] = [] + package_missing_messages: list[JSONMessage] = [] for message in data["messages"]: try: pr_data[package]["messages"].remove(message) diff --git a/pylint/testutils/_primer/primer_command.py b/pylint/testutils/_primer/primer_command.py index 01c2bed368..9fdaade3f2 100644 --- a/pylint/testutils/_primer/primer_command.py +++ b/pylint/testutils/_primer/primer_command.py @@ -9,13 +9,13 @@ from pathlib import Path from typing import TypedDict -from pylint.reporters.json_reporter import OldJsonExport +from pylint.reporters.json_reporter import JSONMessage from pylint.testutils._primer import PackageToLint class PackageData(TypedDict): commit: str - messages: list[OldJsonExport] + messages: list[JSONMessage] PackageMessages = dict[str, PackageData] diff --git a/pylint/testutils/_primer/primer_run_command.py b/pylint/testutils/_primer/primer_run_command.py index 96a1440e7c..f178d60fb9 100644 --- a/pylint/testutils/_primer/primer_run_command.py +++ b/pylint/testutils/_primer/primer_run_command.py @@ -13,7 +13,7 @@ from pylint.lint import Run from pylint.message import Message -from pylint.reporters.json_reporter import JSONReporter, OldJsonExport +from pylint.reporters.json_reporter import JSON2Reporter, JSONMessage from pylint.testutils._primer.package_to_lint import PackageToLint from pylint.testutils._primer.primer_command import ( PackageData, @@ -57,12 +57,12 @@ def run(self) -> None: @staticmethod def _filter_fatal_errors( - messages: list[OldJsonExport], + messages: list[JSONMessage], ) -> list[Message]: """Separate fatal errors so we can report them independently.""" fatal_msgs: list[Message] = [] for raw_message in messages: - message = JSONReporter.deserialize(raw_message) + message = JSON2Reporter.deserialize(raw_message) if message.category == "fatal": if GITHUB_CRASH_TEMPLATE_LOCATION in message.msg: # Remove the crash template location if we're running on GitHub. @@ -73,11 +73,11 @@ def _filter_fatal_errors( @staticmethod def _print_msgs(msgs: list[Message]) -> str: - return "\n".join(f"- {JSONReporter.serialize(m)}" for m in msgs) + return "\n".join(f"- {JSON2Reporter.serialize(m)}" for m in msgs) def _lint_package( self, package_name: str, data: PackageToLint - ) -> tuple[list[OldJsonExport], list[Message]]: + ) -> tuple[list[JSONMessage], list[Message]]: # We want to test all the code we can enables = ["--enable-all-extensions", "--enable=all"] # Duplicate code takes too long and is relatively safe @@ -86,7 +86,7 @@ def _lint_package( additional = ["--clear-cache-post-run=y"] arguments = data.pylint_args + enables + disables + additional output = StringIO() - reporter = JSONReporter(output) + reporter = JSON2Reporter(output) print(f"Running 'pylint {', '.join(arguments)}'") pylint_exit_code = -1 try: @@ -94,7 +94,7 @@ def _lint_package( except SystemExit as e: pylint_exit_code = int(e.code) # type: ignore[arg-type] readable_messages: str = output.getvalue() - messages: list[OldJsonExport] = json.loads(readable_messages) + messages: list[JSONMessage] = json.loads(readable_messages)["messages"] fatal_msgs: list[Message] = [] if pylint_exit_code % 2 == 0: print(f"Successfully primed {package_name}.") diff --git a/tests/testutils/_primer/batched_cases/main_batch1.json b/tests/testutils/_primer/batched_cases/main_batch1.json index c2f34c750c..4be366a80e 100644 --- a/tests/testutils/_primer/batched_cases/main_batch1.json +++ b/tests/testutils/_primer/batched_cases/main_batch1.json @@ -13,7 +13,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py", "symbol": "locally-disabled", "message": "Locally disabling redefined-builtin (W0622)", - "message-id": "I0011" + "messageId": "I0011", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py" }, { "type": "warning", @@ -26,7 +28,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py", "symbol": "unknown-option-value", "message": "Unknown option value for 'disable', expected a valid pylint message and got 'Ellipsis'", - "message-id": "W0012" + "messageId": "W0012", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py" } ] } diff --git a/tests/testutils/_primer/cases/confidence_changed/expected.txt b/tests/testutils/_primer/cases/confidence_changed/expected.txt new file mode 100644 index 0000000000..8555240d13 --- /dev/null +++ b/tests/testutils/_primer/cases/confidence_changed/expected.txt @@ -0,0 +1,24 @@ +🤖 **Effect of this PR on checked open source code:** 🤖 + + +**Effect on [astroid](https://github.com/pylint-dev/astroid):** + +The following messages are now emitted: + +
+ +1) dangerous-default-value: +*Dangerous default value [] as argument* +https://github.com/pylint-dev/astroid/blob/123456789abcdef/astroid/inference.py#L42 +
+ +The following messages are no longer emitted: + +
+ +1) dangerous-default-value: +*Dangerous default value [] as argument* +https://github.com/pylint-dev/astroid/blob/123456789abcdef/astroid/inference.py#L42 +
+ +*This comment was generated for commit v2.14.2* diff --git a/tests/testutils/_primer/cases/confidence_changed/expected_comparator.json b/tests/testutils/_primer/cases/confidence_changed/expected_comparator.json new file mode 100644 index 0000000000..d826f8390a --- /dev/null +++ b/tests/testutils/_primer/cases/confidence_changed/expected_comparator.json @@ -0,0 +1 @@ +[{ "package": "astroid", "missing": 1, "new": 1 }] diff --git a/tests/testutils/_primer/cases/confidence_changed/main.json b/tests/testutils/_primer/cases/confidence_changed/main.json new file mode 100644 index 0000000000..bcd113ce2c --- /dev/null +++ b/tests/testutils/_primer/cases/confidence_changed/main.json @@ -0,0 +1,22 @@ +{ + "astroid": { + "commit": "123456789abcdef", + "messages": [ + { + "type": "warning", + "module": "astroid.inference", + "obj": "infer_call", + "line": 42, + "column": 0, + "endLine": 42, + "endColumn": 15, + "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/inference.py", + "symbol": "dangerous-default-value", + "message": "Dangerous default value [] as argument", + "messageId": "W0102", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/inference.py" + } + ] + } +} diff --git a/tests/testutils/_primer/cases/confidence_changed/pr.json b/tests/testutils/_primer/cases/confidence_changed/pr.json new file mode 100644 index 0000000000..4165138bb1 --- /dev/null +++ b/tests/testutils/_primer/cases/confidence_changed/pr.json @@ -0,0 +1,22 @@ +{ + "astroid": { + "commit": "123456789abcdef", + "messages": [ + { + "type": "warning", + "module": "astroid.inference", + "obj": "infer_call", + "line": 42, + "column": 0, + "endLine": 42, + "endColumn": 15, + "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/inference.py", + "symbol": "dangerous-default-value", + "message": "Dangerous default value [] as argument", + "messageId": "W0102", + "confidence": "HIGH", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/inference.py" + } + ] + } +} diff --git a/tests/testutils/_primer/cases/line_moved/main.json b/tests/testutils/_primer/cases/line_moved/main.json index 36e00e52a8..74158198e4 100644 --- a/tests/testutils/_primer/cases/line_moved/main.json +++ b/tests/testutils/_primer/cases/line_moved/main.json @@ -13,7 +13,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/node_classes.py", "symbol": "too-complex", "message": "'my_function' is too complex. The McCabe rating is 18", - "message-id": "R1260" + "messageId": "R1260", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/node_classes.py" } ] } diff --git a/tests/testutils/_primer/cases/line_moved/pr.json b/tests/testutils/_primer/cases/line_moved/pr.json index 4128cc833d..c9faa7f663 100644 --- a/tests/testutils/_primer/cases/line_moved/pr.json +++ b/tests/testutils/_primer/cases/line_moved/pr.json @@ -13,7 +13,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/node_classes.py", "symbol": "too-complex", "message": "'my_function' is too complex. The McCabe rating is 18", - "message-id": "R1260" + "messageId": "R1260", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/node_classes.py" } ] } diff --git a/tests/testutils/_primer/cases/message_changed/main.json b/tests/testutils/_primer/cases/message_changed/main.json index 69a42be1d3..6d59e073ab 100644 --- a/tests/testutils/_primer/cases/message_changed/main.json +++ b/tests/testutils/_primer/cases/message_changed/main.json @@ -13,7 +13,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py", "symbol": "locally-disabled", "message": "Locally disabling redefined-builtin (W0622)", - "message-id": "I0011" + "messageId": "I0011", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py" }, { "type": "warning", @@ -26,7 +28,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py", "symbol": "unknown-option-value", "message": "Unknown option value for 'disable', expected a valid pylint message and got 'Ellipsis'", - "message-id": "W0012" + "messageId": "W0012", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py" } ] } diff --git a/tests/testutils/_primer/cases/message_changed/pr.json b/tests/testutils/_primer/cases/message_changed/pr.json index ef7e20fba6..ce02ee87f6 100644 --- a/tests/testutils/_primer/cases/message_changed/pr.json +++ b/tests/testutils/_primer/cases/message_changed/pr.json @@ -13,7 +13,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py", "symbol": "locally-disabled", "message": "Locally disabling redefined-builtin [we added some text in the message] (W0622)", - "message-id": "I0011" + "messageId": "I0011", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py" }, { "type": "warning", @@ -26,7 +28,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py", "symbol": "unknown-option-value", "message": "Unknown option value for 'disable', expected a valid pylint message and got 'Ellipsis'", - "message-id": "W0012" + "messageId": "W0012", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py" } ] } diff --git a/tests/testutils/_primer/cases/message_changed_line/main.json b/tests/testutils/_primer/cases/message_changed_line/main.json index ee7bd0bee7..da93d8e6cb 100644 --- a/tests/testutils/_primer/cases/message_changed_line/main.json +++ b/tests/testutils/_primer/cases/message_changed_line/main.json @@ -13,7 +13,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/node_classes.py", "symbol": "too-complex", "message": "'my_function' is too complex. The McCabe rating is 18", - "message-id": "R1260" + "messageId": "R1260", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/node_classes.py" }, { "type": "warning", @@ -26,7 +28,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py", "symbol": "unknown-option-value", "message": "Unknown option value for 'disable', expected a valid pylint message and got 'Ellipsis'", - "message-id": "W0012" + "messageId": "W0012", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py" } ] } diff --git a/tests/testutils/_primer/cases/message_changed_line/pr.json b/tests/testutils/_primer/cases/message_changed_line/pr.json index 3e45f2ebd6..c4332a3139 100644 --- a/tests/testutils/_primer/cases/message_changed_line/pr.json +++ b/tests/testutils/_primer/cases/message_changed_line/pr.json @@ -13,7 +13,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/node_classes.py", "symbol": "too-complex", "message": "'my_function' is too complex. The McCabe rating is 17", - "message-id": "R1260" + "messageId": "R1260", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/node_classes.py" }, { "type": "warning", @@ -26,7 +28,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py", "symbol": "unknown-option-value", "message": "Unknown option value for 'disable', expected a valid pylint message and got 'Ellipsis'", - "message-id": "W0012" + "messageId": "W0012", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py" } ] } diff --git a/tests/testutils/_primer/cases/mixed_changes/main.json b/tests/testutils/_primer/cases/mixed_changes/main.json index 8101ed777b..dd83e11a21 100644 --- a/tests/testutils/_primer/cases/mixed_changes/main.json +++ b/tests/testutils/_primer/cases/mixed_changes/main.json @@ -13,7 +13,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py", "symbol": "locally-disabled", "message": "Locally disabling redefined-builtin (W0622)", - "message-id": "I0011" + "messageId": "I0011", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py" }, { "type": "convention", @@ -26,7 +28,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/node_classes.py", "symbol": "too-complex", "message": "'my_function' is too complex. The McCabe rating is 18", - "message-id": "R1260" + "messageId": "R1260", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/node_classes.py" }, { "type": "warning", @@ -39,7 +43,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py", "symbol": "unknown-option-value", "message": "Unknown option value for 'disable', expected a valid pylint message and got 'Ellipsis'", - "message-id": "W0012" + "messageId": "W0012", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py" } ] } diff --git a/tests/testutils/_primer/cases/mixed_changes/pr.json b/tests/testutils/_primer/cases/mixed_changes/pr.json index 56089c5818..87d7e44b04 100644 --- a/tests/testutils/_primer/cases/mixed_changes/pr.json +++ b/tests/testutils/_primer/cases/mixed_changes/pr.json @@ -13,7 +13,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py", "symbol": "locally-disabled", "message": "Locally disabling redefined-builtin [we added some text in the message] (W0622)", - "message-id": "I0011" + "messageId": "I0011", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py" }, { "type": "convention", @@ -26,7 +28,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/node_classes.py", "symbol": "too-complex", "message": "'my_function' is too complex. The McCabe rating is 17", - "message-id": "R1260" + "messageId": "R1260", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/node_classes.py" }, { "type": "warning", @@ -39,7 +43,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py", "symbol": "unknown-option-value", "message": "Unknown option value for 'disable', expected a valid pylint message and got 'Ellipsis'", - "message-id": "W0012" + "messageId": "W0012", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py" } ] } diff --git a/tests/testutils/_primer/cases/new_message/pr.json b/tests/testutils/_primer/cases/new_message/pr.json index 7905bae829..55b04a53a7 100644 --- a/tests/testutils/_primer/cases/new_message/pr.json +++ b/tests/testutils/_primer/cases/new_message/pr.json @@ -13,7 +13,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py", "symbol": "locally-disabled", "message": "Locally disabling redefined-builtin [we added some text in the message] (W0622)", - "message-id": "I0011" + "messageId": "I0011", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py" } ] } diff --git a/tests/testutils/_primer/cases/no_change/main.json b/tests/testutils/_primer/cases/no_change/main.json index c2f34c750c..4be366a80e 100644 --- a/tests/testutils/_primer/cases/no_change/main.json +++ b/tests/testutils/_primer/cases/no_change/main.json @@ -13,7 +13,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py", "symbol": "locally-disabled", "message": "Locally disabling redefined-builtin (W0622)", - "message-id": "I0011" + "messageId": "I0011", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py" }, { "type": "warning", @@ -26,7 +28,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py", "symbol": "unknown-option-value", "message": "Unknown option value for 'disable', expected a valid pylint message and got 'Ellipsis'", - "message-id": "W0012" + "messageId": "W0012", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py" } ] } diff --git a/tests/testutils/_primer/cases/no_change/pr.json b/tests/testutils/_primer/cases/no_change/pr.json index 69a42be1d3..6d59e073ab 100644 --- a/tests/testutils/_primer/cases/no_change/pr.json +++ b/tests/testutils/_primer/cases/no_change/pr.json @@ -13,7 +13,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py", "symbol": "locally-disabled", "message": "Locally disabling redefined-builtin (W0622)", - "message-id": "I0011" + "messageId": "I0011", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py" }, { "type": "warning", @@ -26,7 +28,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py", "symbol": "unknown-option-value", "message": "Unknown option value for 'disable', expected a valid pylint message and got 'Ellipsis'", - "message-id": "W0012" + "messageId": "W0012", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py" } ] } diff --git a/tests/testutils/_primer/cases/removed_message/main.json b/tests/testutils/_primer/cases/removed_message/main.json index c2f34c750c..4be366a80e 100644 --- a/tests/testutils/_primer/cases/removed_message/main.json +++ b/tests/testutils/_primer/cases/removed_message/main.json @@ -13,7 +13,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py", "symbol": "locally-disabled", "message": "Locally disabling redefined-builtin (W0622)", - "message-id": "I0011" + "messageId": "I0011", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py" }, { "type": "warning", @@ -26,7 +28,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py", "symbol": "unknown-option-value", "message": "Unknown option value for 'disable', expected a valid pylint message and got 'Ellipsis'", - "message-id": "W0012" + "messageId": "W0012", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py" } ] } diff --git a/tests/testutils/_primer/cases/removed_message/pr.json b/tests/testutils/_primer/cases/removed_message/pr.json index 0460e4b7d8..8863c23425 100644 --- a/tests/testutils/_primer/cases/removed_message/pr.json +++ b/tests/testutils/_primer/cases/removed_message/pr.json @@ -13,7 +13,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py", "symbol": "locally-disabled", "message": "Locally disabling redefined-builtin (W0622)", - "message-id": "I0011" + "messageId": "I0011", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py" } ] } diff --git a/tests/testutils/_primer/cases/type_changed/main.json b/tests/testutils/_primer/cases/type_changed/main.json index 475b487343..31ee9349cf 100644 --- a/tests/testutils/_primer/cases/type_changed/main.json +++ b/tests/testutils/_primer/cases/type_changed/main.json @@ -13,7 +13,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/node_classes.py", "symbol": "line-too-long", "message": "Line too long (120/100)", - "message-id": "C0301" + "messageId": "C0301", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/node_classes.py" }, { "type": "warning", @@ -26,7 +28,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py", "symbol": "unknown-option-value", "message": "Unknown option value for 'disable', expected a valid pylint message and got 'Ellipsis'", - "message-id": "W0012" + "messageId": "W0012", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py" } ] } diff --git a/tests/testutils/_primer/cases/type_changed/pr.json b/tests/testutils/_primer/cases/type_changed/pr.json index a1c57e567d..09aa2dc2b8 100644 --- a/tests/testutils/_primer/cases/type_changed/pr.json +++ b/tests/testutils/_primer/cases/type_changed/pr.json @@ -13,7 +13,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/node_classes.py", "symbol": "line-too-long", "message": "Line too long (120/100)", - "message-id": "C0301" + "messageId": "C0301", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/node_classes.py" }, { "type": "warning", @@ -26,7 +28,9 @@ "path": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py", "symbol": "unknown-option-value", "message": "Unknown option value for 'disable', expected a valid pylint message and got 'Ellipsis'", - "message-id": "W0012" + "messageId": "W0012", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/pylint-dev/astroid/astroid/__init__.py" } ] } diff --git a/tests/testutils/_primer/cases/useless_suppression/pr.json b/tests/testutils/_primer/cases/useless_suppression/pr.json index 443560e0ec..870d1a3848 100644 --- a/tests/testutils/_primer/cases/useless_suppression/pr.json +++ b/tests/testutils/_primer/cases/useless_suppression/pr.json @@ -13,7 +13,9 @@ "path": "tests/.pylint_primer_tests/astropy/astropy/astropy/coordinates/angles/angle_parsetab.py", "symbol": "locally-disabled", "message": "Locally disabling looping-through-iterator (W4801)", - "message-id": "I0011" + "messageId": "I0011", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/astropy/astropy/astropy/coordinates/angles/angle_parsetab.py" }, { "type": "warning", @@ -26,7 +28,9 @@ "path": "tests/.pylint_primer_tests/astropy/astropy/astropy/coordinates/angles/angle_parsetab.py", "symbol": "useless-suppression", "message": "Useless suppression of 'looping-through-iterator'", - "message-id": "I0021" + "messageId": "I0021", + "confidence": "UNDEFINED", + "absolutePath": "tests/.pylint_primer_tests/astropy/astropy/astropy/coordinates/angles/angle_parsetab.py" } ] }