diff-cover 9.1.0__tar.gz → 9.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {diff_cover-9.1.0 → diff_cover-9.1.1}/PKG-INFO +1 -1
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/diff_reporter.py +48 -19
- {diff_cover-9.1.0 → diff_cover-9.1.1}/pyproject.toml +2 -2
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/test_diff_reporter.py +51 -4
- {diff_cover-9.1.0 → diff_cover-9.1.1}/LICENSE +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/README.rst +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/__init__.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/command_runner.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/config_parser.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/diff_cover_tool.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/diff_quality_tool.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/git_diff.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/git_path.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/hook.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/hookspecs.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/report_generator.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/snippets.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/templates/console_coverage_report.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/templates/console_quality_report.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/templates/external_style.css +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/templates/html_coverage_report.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/templates/html_quality_report.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/templates/markdown_coverage_report.md +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/templates/markdown_quality_report.md +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/templates/snippet_content.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/templates/snippet_content.md +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/templates/snippet_content.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/templates/snippet_style.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/util.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/violationsreporters/__init__.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/violationsreporters/base.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/violationsreporters/java_violations_reporter.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/violationsreporters/violations_reporter.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/__init__.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/add_console_report.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/add_html_report.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/changed_console_report.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/changed_html_report.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/coverage.xml +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/coverage1.xml +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/coverage2.xml +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/delete_console_report.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/delete_html_report.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/dotnet_coverage.xml +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/dotnet_coverage_console_report.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/empty.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/empty_pycodestyle_violations.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/external_css_html_report.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/external_style.css +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/git_diff_add.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/git_diff_changed.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/git_diff_code_dupe.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/git_diff_delete.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/git_diff_dotnet.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/git_diff_external_css.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/git_diff_lua.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/git_diff_moved.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/git_diff_mult.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/git_diff_subdir.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/git_diff_unicode.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/git_diff_violations.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/git_diff_violations_two_files.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/hello.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/hi.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/html_report.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/html_report_empty.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/html_report_one_snippet.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/html_report_two_snippets.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/lcov.info +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/lua_console_report.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/luacoverage.xml +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/markdown_report_one_snippet.md +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/markdown_report_two_snippets.md +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/moved_console_report.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/moved_coverage.xml +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/moved_html_report.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/mult_inputs_console_report.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/mult_inputs_html_report.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/pycodestyle_report.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/pycodestyle_violations_report.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/pycodestyle_violations_report.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/pycodestyle_violations_report_external_css.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/pyflakes_two_files.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/pyflakes_violations_report.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/pyflakes_violations_report.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/pylint_dupe.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/pylint_dupe_violations_report.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/pylint_report.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/pylint_violations_console_report.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/pylint_violations_report.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/pylint_violations_report.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/pylintrc +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/show_uncovered_lines_console.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/snippet.css +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/snippet_8859.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/snippet_arabic_output.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/snippet_default.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/snippet_invalid_violations.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/snippet_list.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/snippet_list.md +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/snippet_list2.md +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/snippet_list3.md +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/snippet_no_filename_ext.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/snippet_src.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/snippet_src2.cpp +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/snippet_src3.cpp +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/snippet_unicode.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/snippet_unicode.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/snippet_unicode_html_output.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/subdir_coverage_console_report.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/subdir_coverage_html_report.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/test_src.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/unicode_console_report.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/unicode_coverage.xml +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/unicode_html_report.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/unicode_test_src.txt +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/violations_test_file.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/helpers.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/snippet_list_unicode.html +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/test_clover_violations_reporter/test.xml +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/test_clover_violations_reporter.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/test_config_parser.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/test_diff_cover_main.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/test_diff_cover_tool.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/test_diff_quality_main.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/test_git_diff.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/test_git_diff_file.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/test_git_path.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/test_integration.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/test_java_violations_reporter.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/test_report_generator.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/test_snippets.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/test_util.py +0 -0
- {diff_cover-9.1.0 → diff_cover-9.1.1}/tests/test_violations_reporter.py +0 -0
|
@@ -165,18 +165,31 @@ class GitDiffReporter(BaseDiffReporter):
|
|
|
165
165
|
|
|
166
166
|
# Get the diff dictionary
|
|
167
167
|
diff_dict = self._git_diff()
|
|
168
|
-
|
|
169
168
|
# include untracked files
|
|
170
169
|
if self._include_untracked:
|
|
171
170
|
for path in self._git_diff_tool.untracked():
|
|
172
|
-
|
|
173
|
-
|
|
171
|
+
if not self._validate_path_to_diff(path):
|
|
172
|
+
continue
|
|
173
|
+
|
|
174
|
+
num_lines = self._get_file_lines(path)
|
|
174
175
|
diff_dict[path] = list(range(1, num_lines + 1))
|
|
175
176
|
|
|
176
177
|
# Return the changed file paths (dict keys)
|
|
177
178
|
# in alphabetical order
|
|
178
179
|
return sorted(diff_dict.keys(), key=lambda x: x.lower())
|
|
179
180
|
|
|
181
|
+
@staticmethod
|
|
182
|
+
def _get_file_lines(path):
|
|
183
|
+
"""
|
|
184
|
+
Return the number of lines in a file.
|
|
185
|
+
"""
|
|
186
|
+
|
|
187
|
+
try:
|
|
188
|
+
with open(path, encoding="utf-8") as file_handle:
|
|
189
|
+
return len(file_handle.readlines())
|
|
190
|
+
except UnicodeDecodeError:
|
|
191
|
+
return 0
|
|
192
|
+
|
|
180
193
|
def lines_changed(self, src_path):
|
|
181
194
|
"""
|
|
182
195
|
See base class docstring.
|
|
@@ -224,23 +237,16 @@ class GitDiffReporter(BaseDiffReporter):
|
|
|
224
237
|
diff_dict = self._parse_diff_str(diff_str)
|
|
225
238
|
|
|
226
239
|
for src_path, (added_lines, deleted_lines) in diff_dict.items():
|
|
227
|
-
if self.
|
|
240
|
+
if not self._validate_path_to_diff(src_path):
|
|
228
241
|
continue
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
# Remove any lines from the dict that have been deleted
|
|
238
|
-
# Include any lines that have been added
|
|
239
|
-
result_dict[src_path] = [
|
|
240
|
-
line
|
|
241
|
-
for line in result_dict.get(src_path, [])
|
|
242
|
-
if line not in deleted_lines
|
|
243
|
-
] + added_lines
|
|
242
|
+
|
|
243
|
+
# Remove any lines from the dict that have been deleted
|
|
244
|
+
# Include any lines that have been added
|
|
245
|
+
result_dict[src_path] = [
|
|
246
|
+
line
|
|
247
|
+
for line in result_dict.get(src_path, [])
|
|
248
|
+
if line not in deleted_lines
|
|
249
|
+
] + added_lines
|
|
244
250
|
|
|
245
251
|
# Eliminate repeats and order line numbers
|
|
246
252
|
for src_path, lines in result_dict.items():
|
|
@@ -252,6 +258,29 @@ class GitDiffReporter(BaseDiffReporter):
|
|
|
252
258
|
# Return the diff cache
|
|
253
259
|
return self._diff_dict
|
|
254
260
|
|
|
261
|
+
def _validate_path_to_diff(self, src_path: str) -> bool:
|
|
262
|
+
"""
|
|
263
|
+
Validate if a path should be included in the diff.
|
|
264
|
+
|
|
265
|
+
Returns True if the path should be included, otherwise False.
|
|
266
|
+
|
|
267
|
+
A path should be excluded if:
|
|
268
|
+
- If the path is excluded
|
|
269
|
+
- If the path has an extension that is not supported
|
|
270
|
+
"""
|
|
271
|
+
|
|
272
|
+
if self._is_path_excluded(src_path):
|
|
273
|
+
return False
|
|
274
|
+
|
|
275
|
+
# If no _supported_extensions provided, or extension present: process
|
|
276
|
+
_, extension = os.path.splitext(src_path)
|
|
277
|
+
extension = extension[1:].lower()
|
|
278
|
+
|
|
279
|
+
if self._supported_extensions and extension not in self._supported_extensions:
|
|
280
|
+
return False
|
|
281
|
+
|
|
282
|
+
return True
|
|
283
|
+
|
|
255
284
|
# Regular expressions used to parse the diff output
|
|
256
285
|
SRC_FILE_RE = re.compile(r'^diff --git "?a/.*"? "?b/([^\n"]*)"?')
|
|
257
286
|
MERGE_CONFLICT_RE = re.compile(r"^diff --cc ([^\n]*)")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "diff_cover"
|
|
3
|
-
version = "9.1.
|
|
3
|
+
version = "9.1.1"
|
|
4
4
|
description = "Run coverage and linting reports on diffs"
|
|
5
5
|
authors = ["See Contributors"]
|
|
6
6
|
homepage = "https://github.com/Bachmann1234/diff-cover"
|
|
@@ -55,7 +55,7 @@ pytest-mock = "^3.14.0"
|
|
|
55
55
|
pycodestyle = ">=2.9.1"
|
|
56
56
|
flake8 = "^5.0.4"
|
|
57
57
|
pyflakes = "^2.5.0"
|
|
58
|
-
pylint = "^3.2.
|
|
58
|
+
pylint = "^3.2.5"
|
|
59
59
|
pylint-pytest = "^1.1.8"
|
|
60
60
|
pydocstyle = "^6.1.1"
|
|
61
61
|
black = "^24.4.2"
|
|
@@ -618,16 +618,63 @@ def test_include_untracked(mocker, git_diff):
|
|
|
618
618
|
{"subdir/file1.py": line_numbers(3, 10) + line_numbers(34, 47)}
|
|
619
619
|
)
|
|
620
620
|
_set_git_diff_output(
|
|
621
|
-
reporter,
|
|
621
|
+
reporter,
|
|
622
|
+
git_diff,
|
|
623
|
+
staged_diff=diff_output,
|
|
624
|
+
untracked=["u1.py", " u2.py", "binary1.bin"],
|
|
622
625
|
)
|
|
623
626
|
|
|
624
|
-
|
|
625
|
-
|
|
627
|
+
base_open_mock = mocker.mock_open(read_data="1\n2\n3\n")
|
|
628
|
+
raise_count = 0
|
|
629
|
+
|
|
630
|
+
def open_side_effect(*args, **kwargs):
|
|
631
|
+
if args[0] == "binary1.bin":
|
|
632
|
+
nonlocal raise_count
|
|
633
|
+
raise_count += 1
|
|
634
|
+
|
|
635
|
+
raise UnicodeDecodeError("utf-8", b"", 0, 1, "invalid start byte")
|
|
636
|
+
return base_open_mock(*args, **kwargs)
|
|
637
|
+
|
|
638
|
+
mocker.patch("diff_cover.diff_reporter.open", open_side_effect)
|
|
626
639
|
changed = reporter.src_paths_changed()
|
|
627
640
|
|
|
628
|
-
assert sorted(changed) == [" u2.py", "subdir/file1.py", "u1.py"]
|
|
641
|
+
assert sorted(changed) == [" u2.py", "binary1.bin", "subdir/file1.py", "u1.py"]
|
|
629
642
|
assert reporter.lines_changed("u1.py") == [1, 2, 3]
|
|
630
643
|
assert reporter.lines_changed(" u2.py") == [1, 2, 3]
|
|
644
|
+
assert reporter.lines_changed("binary1.bin") == []
|
|
645
|
+
|
|
646
|
+
assert raise_count == 1
|
|
647
|
+
|
|
648
|
+
|
|
649
|
+
@pytest.mark.parametrize(
|
|
650
|
+
"excluded, supported_extensions, path",
|
|
651
|
+
[
|
|
652
|
+
(["file.bin"], ["py"], "file.bin"),
|
|
653
|
+
([], ["py"], "file.bin"),
|
|
654
|
+
],
|
|
655
|
+
)
|
|
656
|
+
def test_include_untracked__not_valid_path__not_include_it(
|
|
657
|
+
git_diff, excluded, supported_extensions, path
|
|
658
|
+
):
|
|
659
|
+
reporter = GitDiffReporter(
|
|
660
|
+
git_diff=git_diff,
|
|
661
|
+
include_untracked=True,
|
|
662
|
+
supported_extensions=supported_extensions,
|
|
663
|
+
exclude=excluded,
|
|
664
|
+
)
|
|
665
|
+
diff_output = git_diff_output(
|
|
666
|
+
{"subdir/file1.py": line_numbers(3, 10) + line_numbers(34, 47)}
|
|
667
|
+
)
|
|
668
|
+
_set_git_diff_output(
|
|
669
|
+
reporter,
|
|
670
|
+
git_diff,
|
|
671
|
+
staged_diff=diff_output,
|
|
672
|
+
untracked=[path],
|
|
673
|
+
)
|
|
674
|
+
|
|
675
|
+
changed = reporter.src_paths_changed()
|
|
676
|
+
|
|
677
|
+
assert sorted(changed) == ["subdir/file1.py"]
|
|
631
678
|
|
|
632
679
|
|
|
633
680
|
def _set_git_diff_output(
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diff_cover-9.1.0 → diff_cover-9.1.1}/diff_cover/violationsreporters/java_violations_reporter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diff_cover-9.1.0 → diff_cover-9.1.1}/tests/fixtures/pycodestyle_violations_report_external_css.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|