diff options
author | Pierre Sassoulas <pierre.sassoulas@gmail.com> | 2021-03-17 20:44:50 +0100 |
---|---|---|
committer | Pierre Sassoulas <pierre.sassoulas@gmail.com> | 2021-03-17 21:14:30 +0100 |
commit | bbe9c44f0736d32307bcfa9f5f760eb6fabb7ca2 (patch) | |
tree | 53117d49dc2e86e2b54c7c7bdd2a1bce2b9c5333 | |
parent | fc56d9d08b951adb1ca0353f43bb47213b8fb16d (diff) | |
download | pylint-git-bbe9c44f0736d32307bcfa9f5f760eb6fabb7ca2.tar.gz |
Better error message when dealing with functional tests fail
-rw-r--r-- | pylint/testutils/lint_module_test.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/pylint/testutils/lint_module_test.py b/pylint/testutils/lint_module_test.py index 786e1bec5..653a6dcdb 100644 --- a/pylint/testutils/lint_module_test.py +++ b/pylint/testutils/lint_module_test.py @@ -7,7 +7,7 @@ import platform import sys from collections import Counter from io import StringIO -from typing import Dict, Tuple +from typing import Dict, List, Tuple import pytest @@ -168,10 +168,14 @@ class LintModuleTest: actual_messages, actual_output = self._get_actual() assert ( expected_messages == actual_messages - ), self.error_msg_for_unequal_messages(actual_messages, expected_messages) + ), self.error_msg_for_unequal_messages( + actual_messages, expected_messages, actual_output + ) self._check_output_text(expected_messages, expected_output, actual_output) - def error_msg_for_unequal_messages(self, actual_messages, expected_messages): + def error_msg_for_unequal_messages( + self, actual_messages, expected_messages, actual_output: List[OutputLine] + ): msg = ['Wrong results for file "%s":' % (self._test_file.base)] missing, unexpected = self.multiset_difference( expected_messages, actual_messages @@ -181,8 +185,10 @@ class LintModuleTest: msg.extend(" %3d: %s" % msg for msg in sorted(missing)) if unexpected: msg.append("\nUnexpected in testdata:") - msg.extend(" %3d: %s" % msg for msg in sorted(unexpected)) + msg.extend(" %3d: %s" % msg for msg in sorted(unexpected)) # type: ignore error_msg = "\n".join(msg) + error_msg += "\n\nActual pylint output for this file:\n" + error_msg += "\n".join(str(o) for o in actual_output) return error_msg def error_msg_for_unequal_output(self, expected_lines, received_lines) -> str: |