summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/flake8/processor.py16
-rw-r--r--tests/unit/test_file_processor.py1
2 files changed, 13 insertions, 4 deletions
diff --git a/src/flake8/processor.py b/src/flake8/processor.py
index 3827a26..d54a82f 100644
--- a/src/flake8/processor.py
+++ b/src/flake8/processor.py
@@ -106,7 +106,7 @@ class FileProcessor(object):
@property
def file_tokens(self):
- """The complete set of tokens for a file.
+ """Return the complete set of tokens for a file.
Accessing this attribute *may* raise an InvalidSyntax exception.
@@ -334,7 +334,7 @@ class FileProcessor(object):
def should_ignore_file(self):
# type: () -> bool
- """Check if ``# flake8: noqa`` is in the file to be ignored.
+ """Check if ``flake8: noqa`` is in the file to be ignored.
:returns:
True if a line matches :attr:`defaults.NOQA_FILE`,
@@ -342,8 +342,16 @@ class FileProcessor(object):
:rtype:
bool
"""
- ignore_file = defaults.NOQA_FILE.search
- return any(ignore_file(line) for line in self.lines)
+ if any(defaults.NOQA_FILE.match(line) for line in self.lines):
+ return True
+ elif any(defaults.NOQA_FILE.search(line) for line in self.lines):
+ LOG.warning(
+ 'Detected `flake8: noqa` on line with code. To ignore an '
+ 'error on a line use `noqa` instead.',
+ )
+ return False
+ else:
+ return False
def strip_utf_bom(self):
# type: () -> NoneType
diff --git a/tests/unit/test_file_processor.py b/tests/unit/test_file_processor.py
index a628cfd..312827b 100644
--- a/tests/unit/test_file_processor.py
+++ b/tests/unit/test_file_processor.py
@@ -46,6 +46,7 @@ def test_strip_utf_bom(first_line):
(['#!/usr/bin/python', '# flake8: noqa', 'a = 1'], True),
(['# flake8: noqa', '#!/usr/bin/python', 'a = 1'], True),
(['#!/usr/bin/python', 'a = 1', '# flake8: noqa'], True),
+ (['#!/usr/bin/python', 'a = 1 # flake8: noqa'], False),
])
def test_should_ignore_file(lines, expected):
"""Verify that we ignore a file if told to."""