summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Cordasco <graffatcolmingov@gmail.com>2016-04-03 14:41:12 -0500
committerIan Cordasco <graffatcolmingov@gmail.com>2016-04-03 14:41:12 -0500
commiteb3d8f57912527d1229b6960509e8e1e7b8d02da (patch)
treefa22060ba03198a1e51fe4d9ecb01555388cd564
parente3707bbe08a21c05b00cee94741e5273808c4859 (diff)
downloadflake8-eb3d8f57912527d1229b6960509e8e1e7b8d02da.tar.gz
Add unit tests around serial retries
-rw-r--r--tests/unit/test_checker_manager.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/unit/test_checker_manager.py b/tests/unit/test_checker_manager.py
new file mode 100644
index 0000000..2d3143e
--- /dev/null
+++ b/tests/unit/test_checker_manager.py
@@ -0,0 +1,27 @@
+"""Tests for the Manager object for FileCheckers."""
+import errno
+import mock
+
+import pytest
+
+from flake8 import checker
+
+
+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')
+ with mock.patch('multiprocessing.Queue', side_effect=err):
+ manager = checker.Manager(style_guide, [], [])
+ assert manager.using_multiprocessing is False
+
+
+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')
+ with mock.patch('multiprocessing.Queue', side_effect=err):
+ with pytest.raises(OSError):
+ checker.Manager(style_guide, [], [])