summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Sassoulas <pierre.sassoulas@gmail.com>2021-03-17 20:44:50 +0100
committerPierre Sassoulas <pierre.sassoulas@gmail.com>2021-03-28 22:45:45 +0200
commit0d82e0964979d7cb1cf85fa3b3452979d74ba74d (patch)
tree0a1d04a8e3e0d84e78451ddc4eb8370d6c8fd87b
parentcc8aecde635f991b1bb8e1331ce2e213ebaf695a (diff)
downloadpylint-git-0d82e0964979d7cb1cf85fa3b3452979d74ba74d.tar.gz
Better error message when dealing with functional tests fail
-rw-r--r--pylint/testutils/lint_module_test.py14
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: