Slightly simplify our conditionals

Test warnings by default
This commit is contained in:
Ian Cordasco 2015-03-07 20:21:58 -06:00
parent 59ae3dfec7
commit a6fc242c5e
5 changed files with 18 additions and 13 deletions

View file

@ -9,7 +9,7 @@ from flake8 import __version__
from flake8 import callbacks
from flake8.reporter import (multiprocessing, BaseQReport, FileQReport,
QueueReport)
from flake8.util import OrderedSet, is_windows, is_using_stdin
from flake8 import util
_flake8_noqa = re.compile(r'\s*# flake8[:=]\s*noqa', re.I).search
@ -18,7 +18,7 @@ EXTRA_EXCLUDE = ['.tox', '.eggs', '*.egg']
def _register_extensions():
"""Register all the extensions."""
extensions = OrderedSet()
extensions = util.OrderedSet()
extensions.add(('pep8', pep8.__version__))
parser_hooks = []
options_hooks = []
@ -124,17 +124,14 @@ def get_style_guide(**kwargs):
for options_hook in options_hooks:
options_hook(options)
if (options.verbose
and options.jobs
and options.jobs.isdigit()
and int(options.jobs) > 1):
if util.warn_when_using_jobs(options):
if not multiprocessing:
warnings.warn("The multiprocessing module is not available. "
"Ignoring --jobs arguments.")
if is_windows():
if util.is_windows():
warnings.warn("The --jobs option is not available on Windows. "
"Ignoring --jobs arguments.")
if is_using_stdin(styleguide.paths):
if util.is_using_stdin(styleguide.paths):
warnings.warn("The --jobs option is not compatible with supplying "
"input using - . Ignoring --jobs arguments.")
if options.diff:
@ -145,7 +142,7 @@ def get_style_guide(**kwargs):
if options.diff:
options.jobs = None
force_disable_jobs = is_windows() or is_using_stdin(styleguide.paths)
force_disable_jobs = util.force_disable_jobs(styleguide)
if multiprocessing and options.jobs and not force_disable_jobs:
if options.jobs.isdigit():

View file

@ -39,6 +39,7 @@ class TestEngine(unittest.TestCase):
with mock.patch('flake8.engine.get_parser') as get_parser:
m.ignored_extensions = []
StyleGuide.return_value.options.jobs = '42'
StyleGuide.return_value.options.diff = False
get_parser.return_value = (m, [])
engine.get_style_guide(foo='bar')
get_parser.assert_called_once_with()
@ -85,13 +86,13 @@ class TestEngine(unittest.TestCase):
# ourselves) what system we may be testing on.
def test_windows_disables_jobs(self):
with mock.patch('flake8.engine.is_windows') as is_windows:
with mock.patch('flake8.util.is_windows') as is_windows:
is_windows.return_value = True
guide = engine.get_style_guide()
assert isinstance(guide, reporter.BaseQReport) is False
def test_stdin_disables_jobs(self):
with mock.patch('flake8.engine.is_using_stdin') as is_using_stdin:
with mock.patch('flake8.util.is_using_stdin') as is_using_stdin:
is_using_stdin.return_value = True
guide = engine.get_style_guide()
assert isinstance(guide, reporter.BaseQReport) is False

View file

@ -54,6 +54,15 @@ def is_using_stdin(paths):
return '-' in paths
def warn_when_using_jobs(options):
return (options.verbose and options.jobs and options.jobs.isdigit() and
int(options.jobs) > 1)
def force_disable_jobs(styleguide):
return is_windows() or is_using_stdin(styleguide.paths)
def flag_on(val):
"""Return true if flag is on"""
return str(val).upper() in ('1', 'T', 'TRUE', 'ON')

View file

@ -6,12 +6,10 @@ envlist =
[testenv]
usedevelop = True
deps =
nose
mock
commands =
python setup.py test -q
python setup.py flake8
nosetests flake8.tests._test_warnings
[testenv:py27-flake8]
basepython = python2.7