summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCezar <celnazli@bitdefender.com>2015-09-19 18:18:54 +0300
committerCezar <celnazli@bitdefender.com>2015-09-19 18:18:54 +0300
commit7eebbddca4b39aeaad60bc68550b45ae1a5402ee (patch)
treed9162aa1d4ef60d64c324096f7e799df4e89ad5f
parent1f17d18b344876d273248dfdd96af92bd17770e0 (diff)
downloadpylint-7eebbddca4b39aeaad60bc68550b45ae1a5402ee.tar.gz
Add check for deprecated unittest aliases
-rw-r--r--pylint/checkers/stdlib.py27
1 files changed, 25 insertions, 2 deletions
diff --git a/pylint/checkers/stdlib.py b/pylint/checkers/stdlib.py
index 0bff8b0..4f9619a 100644
--- a/pylint/checkers/stdlib.py
+++ b/pylint/checkers/stdlib.py
@@ -117,10 +117,16 @@ class StdlibChecker(BaseChecker):
'The idiomatic way to perform an explicit typecheck in '
'Python is to use isinstance(x, Y) rather than '
'type(x) == Y, type(x) is Y. Though there are unusual '
- 'situations where these give different results.')
+ 'situations where these give different results.'),
+ 'W1505': ('Using deprecated alias %s',
+ 'deprecated-unittest-alias',
+ 'Since Python 3.2 and 2.7, the aliases of some TestCase '
+ 'methods are deprecated. Refer to the table here '
+ 'https://docs.python.org/3.5/library/unittest.html#deprecated-aliases'),
}
- @utils.check_messages('bad-open-mode', 'redundant-unittest-assert')
+ @utils.check_messages('bad-open-mode', 'redundant-unittest-assert',
+ 'deprecated-unitteset-alias')
def visit_call(self, node):
"""Visit a CallFunc node."""
if hasattr(node, 'func'):
@@ -131,6 +137,7 @@ class StdlibChecker(BaseChecker):
self._check_open_mode(node)
if infer.root().name == 'unittest.case':
self._check_redundant_assert(node, infer)
+ self._check_unittest_alias(node, infer)
@utils.check_messages('boolean-datetime')
def visit_unaryop(self, node):
@@ -166,6 +173,22 @@ class StdlibChecker(BaseChecker):
args=(infer.name, node.args[0].value, ),
node=node)
+ def _check_unittest_alias(self, node, infer):
+ self.config = {
+ 'deprecated_functions': [
+ 'unittest.case.TestCase._deprecate.deprecated_func',
+ 'unittest.case.TestCase.assertEquals',
+ 'unittest.case.TestCase.assertNotEquals',
+ 'unittest.case.TestCase.assertAlmostEquals',
+ 'unittest.case.TestCase.assertNotAlmostEquals',
+ 'unittest.case.TestCase.assert_',
+ ]
+ }
+
+ if infer.qname() in self.config['deprecated_functions']:
+ self.add_message('deprecated-unittest-alias', node=node,
+ args=(node.func.attrname, ))
+
def _check_datetime(self, node):
""" Check that a datetime was infered.
If so, emit boolean-datetime warning.