Open
Description
In GitLab by @mskrajnowski on Dec 13, 2017, 05:53
Please describe how you installed Flake8
# in a virtualenv
$ pip install flake8
Please provide the exact, unmodified output of flake8 --bug-report
{
"dependencies": [
{
"dependency": "setuptools",
"version": "34.2.0"
}
],
"platform": {
"python_implementation": "CPython",
"python_version": "2.7.12",
"system": "Linux"
},
"plugins": [
{
"is_local": false,
"plugin": "mccabe",
"version": "0.6.1"
},
{
"is_local": false,
"plugin": "pycodestyle",
"version": "2.3.1"
},
{
"is_local": false,
"plugin": "pyflakes",
"version": "1.6.0"
},
{
"is_local": false,
"plugin": "unicode-string-literal",
"version": "1.1"
}
],
"version": "3.5.0"
}
Please describe the problem or feature
Explicitly specified modules are not always checked, depending on what exclude
is set:
- if the module is within an excluded directory it will be checked
- if the module filename is excluded it will not be checked
I would expect flake8
to either:
- always check files that are explicitly specified
- always ignore files that are excluded and/or in an excluded directory
If this is a bug report, please explain with examples (and example code) what you expected to happen and what actually happened.
-
Prepare a simple project for testing
$ mkdir -p test-flake8-exclude/test $ cd test-flake8-exclude $ echo "import os" > test/module.py
-
Try without exclude
$ flake8 . && echo OK ./test/module.py:1:1: F401 'os' imported but unused $ flake8 test/module.py && echo OK test/module.py:1:1: F401 'os' imported but unused
-
Try excluding the directory
$ echo "[flake8]" > .flake8 $ echo "exclude = test" >> .flake8 $ flake8 . && echo OK OK $ flake8 test/module.py && echo OK test/module.py:1:1: F401 'os' imported but unused
-
Try excluding the module
$ echo "[flake8]" > .flake8 $ echo "exclude = module.py" >> .flake8 $ flake8 . && echo OK OK $ flake8 test/module.py && echo OK OK
I'd expect results in 3. and 4. to be the same.