summaryrefslogtreecommitdiff
path: root/test/unittest_lint.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/unittest_lint.py')
-rw-r--r--test/unittest_lint.py31
1 files changed, 30 insertions, 1 deletions
diff --git a/test/unittest_lint.py b/test/unittest_lint.py
index 533aa94a6..2043ca64d 100644
--- a/test/unittest_lint.py
+++ b/test/unittest_lint.py
@@ -26,7 +26,9 @@ from logilab.common.compat import reload
from pylint import config
from pylint.lint import PyLinter, Run, UnknownMessage, preprocess_options, \
ArgumentPreprocessingError
-from pylint.utils import sort_msgs, PyLintASTWalker
+from pylint.utils import sort_msgs, PyLintASTWalker, MSG_STATE_SCOPE_CONFIG, \
+ MSG_STATE_SCOPE_MODULE
+
from pylint import checkers
class SortMessagesTC(TestCase):
@@ -131,6 +133,21 @@ class PyLinterTC(TestCase):
self.assertTrue(linter.is_message_enabled('C0121'))
self.assertTrue(linter.is_message_enabled('C0121', line=1))
+ def test_message_state_scope(self):
+ linter = self.linter
+ linter.open()
+ linter.disable('C0121')
+ self.assertEqual(MSG_STATE_SCOPE_CONFIG,
+ linter.get_message_state_scope('C0121'))
+ linter.disable('W0101', scope='module', line=3)
+ self.assertEqual(MSG_STATE_SCOPE_CONFIG,
+ linter.get_message_state_scope('C0121'))
+ self.assertEqual(MSG_STATE_SCOPE_MODULE,
+ linter.get_message_state_scope('W0101', 3))
+ linter.enable('W0102', scope='module', line=3)
+ self.assertEqual(MSG_STATE_SCOPE_MODULE,
+ linter.get_message_state_scope('W0102', 3))
+
def test_enable_message_block(self):
linter = self.linter
linter.open()
@@ -140,6 +157,7 @@ class PyLinterTC(TestCase):
linter.process_module(astng)
orig_state = linter._module_msgs_state.copy()
linter._module_msgs_state = {}
+ linter._suppression_mapping = {}
linter.collect_block_lines(astng, orig_state)
# global (module level)
self.assertTrue(linter.is_message_enabled('W0613'))
@@ -177,6 +195,17 @@ class PyLinterTC(TestCase):
self.assertTrue(linter.is_message_enabled('E1101', 75))
self.assertTrue(linter.is_message_enabled('E1101', 77))
+ self.assertEqual(17, linter._suppression_mapping['W0613', 18])
+ self.assertEqual(30, linter._suppression_mapping['E1101', 33])
+ self.assert_(('E1101', 46) not in linter._suppression_mapping)
+ self.assertEqual(1, linter._suppression_mapping['C0302', 18])
+ self.assertEqual(1, linter._suppression_mapping['C0302', 50])
+ # This is tricky. While the disable in line 106 is disabling
+ # both 108 and 110, this is usually not what the user wanted.
+ # Therefore, we report the closest previous disable comment.
+ self.assertEqual(106, linter._suppression_mapping['E1101', 108])
+ self.assertEqual(109, linter._suppression_mapping['E1101', 110])
+
def test_enable_by_symbol(self):
"""messages can be controlled by symbolic names.