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-17 21:14:30 +0100
commitbbe9c44f0736d32307bcfa9f5f760eb6fabb7ca2 (patch)
tree53117d49dc2e86e2b54c7c7bdd2a1bce2b9c5333
parentfc56d9d08b951adb1ca0353f43bb47213b8fb16d (diff)
downloadpylint-git-bbe9c44f0736d32307bcfa9f5f760eb6fabb7ca2.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: