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-28 22:45:45 +0200 |
commit | 0d82e0964979d7cb1cf85fa3b3452979d74ba74d (patch) | |
tree | 0a1d04a8e3e0d84e78451ddc4eb8370d6c8fd87b | |
parent | cc8aecde635f991b1bb8e1331ce2e213ebaf695a (diff) | |
download | pylint-git-0d82e0964979d7cb1cf85fa3b3452979d74ba74d.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: |