mirror of
https://github.com/PyCQA/flake8.git
synced 2026-04-08 05:54:17 +00:00
remove --diff option
This commit is contained in:
parent
86268cbde8
commit
fba6df88f9
18 changed files with 11 additions and 526 deletions
130
tests/fixtures/diffs/multi_file_diff
vendored
130
tests/fixtures/diffs/multi_file_diff
vendored
|
|
@ -1,130 +0,0 @@
|
|||
diff --git a/flake8/utils.py b/flake8/utils.py
|
||||
index f6ce384..7cd12b0 100644
|
||||
--- a/flake8/utils.py
|
||||
+++ b/flake8/utils.py
|
||||
@@ -75,8 +75,8 @@ def stdin_get_value():
|
||||
return cached_value.getvalue()
|
||||
|
||||
|
||||
-def parse_unified_diff():
|
||||
- # type: () -> List[str]
|
||||
+def parse_unified_diff(diff=None):
|
||||
+ # type: (str) -> List[str]
|
||||
"""Parse the unified diff passed on stdin.
|
||||
|
||||
:returns:
|
||||
@@ -84,7 +84,10 @@ def parse_unified_diff():
|
||||
:rtype:
|
||||
dict
|
||||
"""
|
||||
- diff = stdin_get_value()
|
||||
+ # Allow us to not have to patch out stdin_get_value
|
||||
+ if diff is None:
|
||||
+ diff = stdin_get_value()
|
||||
+
|
||||
number_of_rows = None
|
||||
current_path = None
|
||||
parsed_paths = collections.defaultdict(set)
|
||||
diff --git a/tests/fixtures/diffs/single_file_diff b/tests/fixtures/diffs/single_file_diff
|
||||
new file mode 100644
|
||||
index 0000000..77ca534
|
||||
--- /dev/null
|
||||
+++ b/tests/fixtures/diffs/single_file_diff
|
||||
@@ -0,0 +1,27 @@
|
||||
+diff --git a/flake8/utils.py b/flake8/utils.py
|
||||
+index f6ce384..7cd12b0 100644
|
||||
+--- a/flake8/utils.py
|
||||
++++ b/flake8/utils.py
|
||||
+@@ -75,8 +75,8 @@ def stdin_get_value():
|
||||
+ return cached_value.getvalue()
|
||||
+
|
||||
+
|
||||
+-def parse_unified_diff():
|
||||
+- # type: () -> List[str]
|
||||
++def parse_unified_diff(diff=None):
|
||||
++ # type: (str) -> List[str]
|
||||
+ """Parse the unified diff passed on stdin.
|
||||
+
|
||||
+ :returns:
|
||||
+@@ -84,7 +84,10 @@ def parse_unified_diff():
|
||||
+ :rtype:
|
||||
+ dict
|
||||
+ """
|
||||
+- diff = stdin_get_value()
|
||||
++ # Allow us to not have to patch out stdin_get_value
|
||||
++ if diff is None:
|
||||
++ diff = stdin_get_value()
|
||||
++
|
||||
+ number_of_rows = None
|
||||
+ current_path = None
|
||||
+ parsed_paths = collections.defaultdict(set)
|
||||
diff --git a/tests/fixtures/diffs/two_file_diff b/tests/fixtures/diffs/two_file_diff
|
||||
new file mode 100644
|
||||
index 0000000..5bd35cd
|
||||
--- /dev/null
|
||||
+++ b/tests/fixtures/diffs/two_file_diff
|
||||
@@ -0,0 +1,45 @@
|
||||
+diff --git a/flake8/utils.py b/flake8/utils.py
|
||||
+index f6ce384..7cd12b0 100644
|
||||
+--- a/flake8/utils.py
|
||||
++++ b/flake8/utils.py
|
||||
+@@ -75,8 +75,8 @@ def stdin_get_value():
|
||||
+ return cached_value.getvalue()
|
||||
+
|
||||
+
|
||||
+-def parse_unified_diff():
|
||||
+- # type: () -> List[str]
|
||||
++def parse_unified_diff(diff=None):
|
||||
++ # type: (str) -> List[str]
|
||||
+ """Parse the unified diff passed on stdin.
|
||||
+
|
||||
+ :returns:
|
||||
+@@ -84,7 +84,10 @@ def parse_unified_diff():
|
||||
+ :rtype:
|
||||
+ dict
|
||||
+ """
|
||||
+- diff = stdin_get_value()
|
||||
++ # Allow us to not have to patch out stdin_get_value
|
||||
++ if diff is None:
|
||||
++ diff = stdin_get_value()
|
||||
++
|
||||
+ number_of_rows = None
|
||||
+ current_path = None
|
||||
+ parsed_paths = collections.defaultdict(set)
|
||||
+diff --git a/tests/unit/test_utils.py b/tests/unit/test_utils.py
|
||||
+index d69d939..21482ce 100644
|
||||
+--- a/tests/unit/test_utils.py
|
||||
++++ b/tests/unit/test_utils.py
|
||||
+@@ -115,3 +115,13 @@ def test_parameters_for_function_plugin():
|
||||
+ plugin = plugin_manager.Plugin('plugin-name', object())
|
||||
+ plugin._plugin = fake_plugin
|
||||
+ assert utils.parameters_for(plugin) == ['physical_line', 'self', 'tree']
|
||||
++
|
||||
++
|
||||
++def read_diff_file(filename):
|
||||
++ """Read the diff file in its entirety."""
|
||||
++ with open(filename, 'r') as fd:
|
||||
++ content = fd.read()
|
||||
++ return content
|
||||
++
|
||||
++
|
||||
++SINGLE_FILE_DIFF = read_diff_file('tests/fixtures/diffs/single_file_diff')
|
||||
diff --git a/tests/unit/test_utils.py b/tests/unit/test_utils.py
|
||||
index d69d939..1461369 100644
|
||||
--- a/tests/unit/test_utils.py
|
||||
+++ b/tests/unit/test_utils.py
|
||||
@@ -115,3 +115,14 @@ def test_parameters_for_function_plugin():
|
||||
plugin = plugin_manager.Plugin('plugin-name', object())
|
||||
plugin._plugin = fake_plugin
|
||||
assert utils.parameters_for(plugin) == ['physical_line', 'self', 'tree']
|
||||
+
|
||||
+
|
||||
+def read_diff_file(filename):
|
||||
+ """Read the diff file in its entirety."""
|
||||
+ with open(filename, 'r') as fd:
|
||||
+ content = fd.read()
|
||||
+ return content
|
||||
+
|
||||
+
|
||||
+SINGLE_FILE_DIFF = read_diff_file('tests/fixtures/diffs/single_file_diff')
|
||||
+TWO_FILE_DIFF = read_diff_file('tests/fixtures/diffs/two_file_diff')
|
||||
27
tests/fixtures/diffs/single_file_diff
vendored
27
tests/fixtures/diffs/single_file_diff
vendored
|
|
@ -1,27 +0,0 @@
|
|||
diff --git a/flake8/utils.py b/flake8/utils.py
|
||||
index f6ce384..7cd12b0 100644
|
||||
--- a/flake8/utils.py
|
||||
+++ b/flake8/utils.py
|
||||
@@ -75,8 +75,8 @@ def stdin_get_value():
|
||||
return cached_value.getvalue()
|
||||
|
||||
|
||||
-def parse_unified_diff():
|
||||
- # type: () -> List[str]
|
||||
+def parse_unified_diff(diff=None):
|
||||
+ # type: (str) -> List[str]
|
||||
"""Parse the unified diff passed on stdin.
|
||||
|
||||
:returns:
|
||||
@@ -84,7 +84,10 @@ def parse_unified_diff():
|
||||
:rtype:
|
||||
dict
|
||||
"""
|
||||
- diff = stdin_get_value()
|
||||
+ # Allow us to not have to patch out stdin_get_value
|
||||
+ if diff is None:
|
||||
+ diff = stdin_get_value()
|
||||
+
|
||||
number_of_rows = None
|
||||
current_path = None
|
||||
parsed_paths = collections.defaultdict(set)
|
||||
45
tests/fixtures/diffs/two_file_diff
vendored
45
tests/fixtures/diffs/two_file_diff
vendored
|
|
@ -1,45 +0,0 @@
|
|||
diff --git a/flake8/utils.py b/flake8/utils.py
|
||||
index f6ce384..7cd12b0 100644
|
||||
--- a/flake8/utils.py
|
||||
+++ b/flake8/utils.py
|
||||
@@ -75,8 +75,8 @@ def stdin_get_value():
|
||||
return cached_value.getvalue()
|
||||
|
||||
|
||||
-def parse_unified_diff():
|
||||
- # type: () -> List[str]
|
||||
+def parse_unified_diff(diff=None):
|
||||
+ # type: (str) -> List[str]
|
||||
"""Parse the unified diff passed on stdin.
|
||||
|
||||
:returns:
|
||||
@@ -84,7 +84,10 @@ def parse_unified_diff():
|
||||
:rtype:
|
||||
dict
|
||||
"""
|
||||
- diff = stdin_get_value()
|
||||
+ # Allow us to not have to patch out stdin_get_value
|
||||
+ if diff is None:
|
||||
+ diff = stdin_get_value()
|
||||
+
|
||||
number_of_rows = None
|
||||
current_path = None
|
||||
parsed_paths = collections.defaultdict(set)
|
||||
diff --git a/tests/unit/test_utils.py b/tests/unit/test_utils.py
|
||||
index d69d939..21482ce 100644
|
||||
--- a/tests/unit/test_utils.py
|
||||
+++ b/tests/unit/test_utils.py
|
||||
@@ -115,3 +115,13 @@ def test_parameters_for_function_plugin():
|
||||
plugin = plugin_manager.Plugin('plugin-name', object())
|
||||
plugin._plugin = fake_plugin
|
||||
assert utils.parameters_for(plugin) == ['physical_line', 'self', 'tree']
|
||||
+
|
||||
+
|
||||
+def read_diff_file(filename):
|
||||
+ """Read the diff file in its entirety."""
|
||||
+ with open(filename, 'r') as fd:
|
||||
+ content = fd.read()
|
||||
+ return content
|
||||
+
|
||||
+
|
||||
+SINGLE_FILE_DIFF = read_diff_file('tests/fixtures/diffs/single_file_diff')
|
||||
|
|
@ -13,42 +13,6 @@ from flake8.main import cli
|
|||
from flake8.options import config
|
||||
|
||||
|
||||
def test_diff_option(tmpdir, capsys):
|
||||
"""Ensure that `flake8 --diff` works."""
|
||||
t_py_contents = """\
|
||||
import os
|
||||
import sys # unused but not part of diff
|
||||
|
||||
print('(to avoid trailing whitespace in test)')
|
||||
print('(to avoid trailing whitespace in test)')
|
||||
print(os.path.join('foo', 'bar'))
|
||||
|
||||
y # part of the diff and an error
|
||||
"""
|
||||
|
||||
diff = """\
|
||||
diff --git a/t.py b/t.py
|
||||
index d64ac39..7d943de 100644
|
||||
--- a/t.py
|
||||
+++ b/t.py
|
||||
@@ -4,3 +4,5 @@ import sys # unused but not part of diff
|
||||
print('(to avoid trailing whitespace in test)')
|
||||
print('(to avoid trailing whitespace in test)')
|
||||
print(os.path.join('foo', 'bar'))
|
||||
+
|
||||
+y # part of the diff and an error
|
||||
"""
|
||||
|
||||
with mock.patch.object(utils, "stdin_get_value", return_value=diff):
|
||||
with tmpdir.as_cwd():
|
||||
tmpdir.join("t.py").write(t_py_contents)
|
||||
assert cli.main(["--diff"]) == 1
|
||||
|
||||
out, err = capsys.readouterr()
|
||||
assert out == "t.py:8:1: F821 undefined name 'y'\n"
|
||||
assert err == ""
|
||||
|
||||
|
||||
def test_form_feed_line_split(tmpdir, capsys):
|
||||
"""Test that form feed is treated the same for stdin."""
|
||||
src = "x=1\n\f\ny=1\n"
|
||||
|
|
|
|||
|
|
@ -14,12 +14,7 @@ from flake8.plugins import finder
|
|||
|
||||
def style_guide_mock():
|
||||
"""Create a mock StyleGuide object."""
|
||||
return mock.MagicMock(
|
||||
**{
|
||||
"options.diff": False,
|
||||
"options.jobs": JobsArgument("4"),
|
||||
}
|
||||
)
|
||||
return mock.MagicMock(**{"options.jobs": JobsArgument("4")})
|
||||
|
||||
|
||||
def _parallel_checker_manager():
|
||||
|
|
|
|||
|
|
@ -125,7 +125,6 @@ def _expand_paths(
|
|||
stdin_display_name="stdin",
|
||||
filename_patterns=("*.py",),
|
||||
exclude=(),
|
||||
is_running_from_diff=False,
|
||||
):
|
||||
return set(
|
||||
expand_paths(
|
||||
|
|
@ -133,7 +132,6 @@ def _expand_paths(
|
|||
stdin_display_name=stdin_display_name,
|
||||
filename_patterns=filename_patterns,
|
||||
exclude=exclude,
|
||||
is_running_from_diff=is_running_from_diff,
|
||||
)
|
||||
)
|
||||
|
||||
|
|
@ -166,11 +164,3 @@ def test_alternate_stdin_name_is_filtered():
|
|||
def test_filename_included_even_if_not_matching_include(tmp_path):
|
||||
some_file = str(tmp_path.joinpath("some/file"))
|
||||
assert _expand_paths(paths=(some_file,)) == {some_file}
|
||||
|
||||
|
||||
def test_diff_filenames_filtered_by_patterns(tmp_path):
|
||||
f1 = str(tmp_path.joinpath("f1"))
|
||||
f2 = str(tmp_path.joinpath("f2.py"))
|
||||
|
||||
ret = _expand_paths(paths=(f1, f2), is_running_from_diff=True)
|
||||
assert ret == {f2}
|
||||
|
|
|
|||
|
|
@ -183,44 +183,6 @@ def test_fnmatch(filename, patterns, expected):
|
|||
assert utils.fnmatch(filename, patterns) is expected
|
||||
|
||||
|
||||
def read_diff_file(filename):
|
||||
"""Read the diff file in its entirety."""
|
||||
with open(filename) as fd:
|
||||
content = fd.read()
|
||||
return content
|
||||
|
||||
|
||||
SINGLE_FILE_DIFF = read_diff_file("tests/fixtures/diffs/single_file_diff")
|
||||
SINGLE_FILE_INFO = {
|
||||
"flake8/utils.py": set(range(75, 83)).union(set(range(84, 94))),
|
||||
}
|
||||
TWO_FILE_DIFF = read_diff_file("tests/fixtures/diffs/two_file_diff")
|
||||
TWO_FILE_INFO = {
|
||||
"flake8/utils.py": set(range(75, 83)).union(set(range(84, 94))),
|
||||
"tests/unit/test_utils.py": set(range(115, 128)),
|
||||
}
|
||||
MULTI_FILE_DIFF = read_diff_file("tests/fixtures/diffs/multi_file_diff")
|
||||
MULTI_FILE_INFO = {
|
||||
"flake8/utils.py": set(range(75, 83)).union(set(range(84, 94))),
|
||||
"tests/unit/test_utils.py": set(range(115, 129)),
|
||||
"tests/fixtures/diffs/single_file_diff": set(range(1, 28)),
|
||||
"tests/fixtures/diffs/two_file_diff": set(range(1, 46)),
|
||||
}
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"diff, parsed_diff",
|
||||
[
|
||||
(SINGLE_FILE_DIFF, SINGLE_FILE_INFO),
|
||||
(TWO_FILE_DIFF, TWO_FILE_INFO),
|
||||
(MULTI_FILE_DIFF, MULTI_FILE_INFO),
|
||||
],
|
||||
)
|
||||
def test_parse_unified_diff(diff, parsed_diff):
|
||||
"""Verify that what we parse from a diff matches expectations."""
|
||||
assert utils.parse_unified_diff(diff) == parsed_diff
|
||||
|
||||
|
||||
def test_stdin_get_value_crlf():
|
||||
"""Ensure that stdin is normalized from crlf to lf."""
|
||||
stdin = io.TextIOWrapper(io.BytesIO(b"1\r\n2\r\n"), "UTF-8")
|
||||
|
|
|
|||
|
|
@ -51,22 +51,3 @@ def test_disable_is_inline_ignored():
|
|||
assert error.is_inline_ignored(True) is False
|
||||
|
||||
assert getline.called is False
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"violation_file,violation_line,diff,expected",
|
||||
[
|
||||
("file.py", 10, {}, True),
|
||||
("file.py", 1, {"file.py": range(1, 2)}, True),
|
||||
("file.py", 10, {"file.py": range(1, 2)}, False),
|
||||
("file.py", 1, {"other.py": range(1, 2)}, False),
|
||||
("file.py", 10, {"other.py": range(1, 2)}, False),
|
||||
],
|
||||
)
|
||||
def test_violation_is_in_diff(violation_file, violation_line, diff, expected):
|
||||
"""Verify that we find violations within a diff."""
|
||||
violation = Violation(
|
||||
"E001", violation_file, violation_line, 1, "warning", "line"
|
||||
)
|
||||
|
||||
assert violation.is_in(diff) is expected
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue