summaryrefslogtreecommitdiff
path: root/tests/unit
diff options
context:
space:
mode:
authorIan Cordasco <graffatcolmingov@gmail.com>2016-04-05 18:52:35 -0500
committerIan Cordasco <graffatcolmingov@gmail.com>2016-04-05 18:52:35 -0500
commit78b986d5066e229c490c764ce5511f73fe97cc01 (patch)
tree7e6f413e68aef966845b818854d64e748d3b7e14 /tests/unit
parenteb3d8f57912527d1229b6960509e8e1e7b8d02da (diff)
downloadflake8-78b986d5066e229c490c764ce5511f73fe97cc01.tar.gz
Refactor checker manager and add tests
Diffstat (limited to 'tests/unit')
-rw-r--r--tests/unit/test_checker_manager.py22
1 files changed, 18 insertions, 4 deletions
diff --git a/tests/unit/test_checker_manager.py b/tests/unit/test_checker_manager.py
index 2d3143e..7e622bc 100644
--- a/tests/unit/test_checker_manager.py
+++ b/tests/unit/test_checker_manager.py
@@ -7,11 +7,18 @@ import pytest
from flake8 import checker
+def style_guide_mock(**kwargs):
+ kwargs.setdefault('diff', False)
+ kwargs.setdefault('jobs', '4')
+ style_guide = mock.Mock()
+ style_guide.options = mock.Mock(**kwargs)
+ return style_guide
+
+
def test_oserrors_cause_serial_fall_back():
"""Verify that OSErrors will cause the Manager to fallback to serial."""
err = OSError(errno.ENOSPC, 'Ominous message about spaceeeeee')
- style_guide = mock.Mock()
- style_guide.options = mock.Mock(diff=False, jobs='4')
+ style_guide = style_guide_mock()
with mock.patch('multiprocessing.Queue', side_effect=err):
manager = checker.Manager(style_guide, [], [])
assert manager.using_multiprocessing is False
@@ -20,8 +27,15 @@ def test_oserrors_cause_serial_fall_back():
def test_oserrors_are_reraised():
"""Verify that OSErrors will cause the Manager to fallback to serial."""
err = OSError(errno.EAGAIN, 'Ominous message')
- style_guide = mock.Mock()
- style_guide.options = mock.Mock(diff=False, jobs='4')
+ style_guide = style_guide_mock()
with mock.patch('multiprocessing.Queue', side_effect=err):
with pytest.raises(OSError):
checker.Manager(style_guide, [], [])
+
+
+def test_multiprocessing_is_disabled():
+ """Verify not being able to import multiprocessing forces jobs to 0."""
+ style_guide = style_guide_mock()
+ with mock.patch('flake8.checker.multiprocessing', None):
+ manager = checker.Manager(style_guide, [], [])
+ assert manager.jobs == 0