diff --git a/foxylint/loggingcase.py b/foxylint/loggingcase.py index 04334f2..6a3146f 100644 --- a/foxylint/loggingcase.py +++ b/foxylint/loggingcase.py @@ -7,7 +7,7 @@ def __init__(self, file): self._go() def _go(self): - BAD_PATTERN = re.compile(r"""(logging|logger)\.(info|warning|error|debug|critical)\(["'][A-Z]""") + BAD_PATTERN = re.compile(r"""(logging|logger)\.(info|warning|error|debug|critical)\([rf]?["'][A-Z]""") errors = [] with open(self._file) as f: for line_number, line in enumerate(f, start=1): diff --git a/pyproject.toml b/pyproject.toml index dcfb312..ec18fd5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "foxylint" -version = "1.3.0" +version = "1.3.1" description = "" authors = ["Yoav Kleinberger "] license = "MIT" diff --git a/tests/fixtures/bad.py b/tests/fixtures/bad.py index f824992..05aa36b 100644 --- a/tests/fixtures/bad.py +++ b/tests/fixtures/bad.py @@ -8,3 +8,5 @@ def main(): logger.info('I am also bad') logging.info('I start with a captial letter, that is why I am bad') logging.info('Another line starts with a capital, this is bad') + logging.info(f'An f-string with a capital letter is bad as well {3.0}') + logging.info(r'An r-string with a capital letter is also bad') diff --git a/tests/test_blackbox.py b/tests/test_blackbox.py index bda56a4..6a5b274 100644 --- a/tests/test_blackbox.py +++ b/tests/test_blackbox.py @@ -19,10 +19,14 @@ def test_imports(files): ACCEPTABLE_PATTERNS = [LOGGING_PATTERN] findings = foxylint.imports.analyze([files.good, files.bad], acceptable_patterns=ACCEPTABLE_PATTERNS) assert findings[files.good]['ok'] is True + assert len(findings[files.good]['errors']) == 0 assert findings[files.bad]['ok'] is False + assert len(findings[files.bad]['errors']) == 2 def test_loggingcase(files): findings = foxylint.loggingcase.analyze([files.good, files.bad]) assert findings[files.good]['ok'] is True + assert len(findings[files.good]['errors']) == 0 assert findings[files.bad]['ok'] is False + assert len(findings[files.bad]['errors']) == 5