summaryrefslogtreecommitdiff
path: root/pylint/test/unittest_checker_logging.py
diff options
context:
space:
mode:
Diffstat (limited to 'pylint/test/unittest_checker_logging.py')
-rw-r--r--pylint/test/unittest_checker_logging.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/pylint/test/unittest_checker_logging.py b/pylint/test/unittest_checker_logging.py
new file mode 100644
index 0000000..e25daac
--- /dev/null
+++ b/pylint/test/unittest_checker_logging.py
@@ -0,0 +1,47 @@
+# Copyright 2014 Google Inc. All Rights Reserved.
+"""Unittest for the logging checker."""
+import unittest
+from astroid import test_utils
+
+from pylint.checkers import logging
+
+from pylint.testutils import CheckerTestCase, Message, set_config
+
+
+class LoggingModuleDetectionTest(CheckerTestCase):
+ CHECKER_CLASS = logging.LoggingChecker
+
+ def test_detects_standard_logging_module(self):
+ stmts = test_utils.extract_node("""
+ import logging #@
+ logging.warn('%s' % '%s') #@
+ """)
+ self.checker.visit_module(None)
+ self.checker.visit_import(stmts[0])
+ with self.assertAddsMessages(Message('logging-not-lazy', node=stmts[1])):
+ self.checker.visit_callfunc(stmts[1])
+
+ def test_detects_renamed_standard_logging_module(self):
+ stmts = test_utils.extract_node("""
+ import logging as blogging #@
+ blogging.warn('%s' % '%s') #@
+ """)
+ self.checker.visit_module(None)
+ self.checker.visit_import(stmts[0])
+ with self.assertAddsMessages(Message('logging-not-lazy', node=stmts[1])):
+ self.checker.visit_callfunc(stmts[1])
+
+ @set_config(logging_modules=['logging', 'my.logging'])
+ def test_nonstandard_logging_module(self):
+ stmts = test_utils.extract_node("""
+ from my import logging as blogging #@
+ blogging.warn('%s' % '%s') #@
+ """)
+ self.checker.visit_module(None)
+ self.checker.visit_import(stmts[0])
+ with self.assertAddsMessages(Message('logging-not-lazy', node=stmts[1])):
+ self.checker.visit_callfunc(stmts[1])
+
+
+if __name__ == '__main__':
+ unittest.main()