Skip to content

Commit d364161

Browse files
fix: directory as filename (#597)
1 parent 602ae3f commit d364161

File tree

2 files changed

+53
-5
lines changed

2 files changed

+53
-5
lines changed

codecov_cli/services/upload/file_finder.py

+9-5
Original file line numberDiff line numberDiff line change
@@ -226,11 +226,15 @@ def find_files(self) -> List[UploadCollectionResultFile]:
226226
filename_exclude_regex=regex_patterns_to_exclude,
227227
)
228228
result_files = [UploadCollectionResultFile(path) for path in files_paths]
229-
user_result_files = [
230-
UploadCollectionResultFile(path)
231-
for path in user_files_paths
232-
if user_files_paths
233-
]
229+
230+
user_result_files = []
231+
for path in user_files_paths:
232+
if os.path.isfile(path):
233+
user_result_files.append(UploadCollectionResultFile(path))
234+
else:
235+
logger.warning(
236+
f"File \"{path}\" could not be found or does not exist. Please enter in the full path or from the search root \"{self.search_root}\"",
237+
)
234238

235239
return list(set(result_files + user_result_files))
236240

tests/services/upload/test_coverage_file_finder.py

+44
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,50 @@ def test_find_coverage_files_with_existing_files(
206206
expected_paths = sorted([file.get_filename() for file in expected])
207207
assert result == expected_paths
208208

209+
def test_find_coverage_files_with_directory_named_as_file(
210+
self, coverage_file_finder_fixture
211+
):
212+
# Create some sample coverage coverage_file_finder_fixture
213+
(
214+
project_root,
215+
coverage_file_finder,
216+
) = coverage_file_finder_fixture
217+
coverage_files = [
218+
project_root / "coverage.xml" / "coverage.xml",
219+
]
220+
(project_root / "coverage.xml").mkdir()
221+
for file in coverage_files:
222+
file.touch()
223+
224+
coverage_file_finder.explicitly_listed_files = [Path("coverage.xml/coverage.xml")]
225+
result = sorted(
226+
[file.get_filename() for file in coverage_file_finder.find_files()]
227+
)
228+
expected = [
229+
UploadCollectionResultFile(Path(f"{project_root}/coverage.xml/coverage.xml")),
230+
]
231+
expected_paths = sorted([file.get_filename() for file in expected])
232+
assert result == expected_paths
233+
234+
coverage_file_finder.explicitly_listed_files = [Path("coverage.xml")]
235+
result = sorted(
236+
[file.get_filename() for file in coverage_file_finder.find_files()]
237+
)
238+
expected = [
239+
UploadCollectionResultFile(Path(f"{project_root}/coverage.xml/coverage.xml")),
240+
]
241+
expected_paths = sorted([file.get_filename() for file in expected])
242+
assert result == expected_paths
243+
244+
coverage_file_finder.explicitly_listed_files = [Path("coverage.xml")]
245+
coverage_file_finder.disable_search = True
246+
result = sorted(
247+
[file.get_filename() for file in coverage_file_finder.find_files()]
248+
)
249+
expected = []
250+
expected_paths = sorted([file.get_filename() for file in expected])
251+
assert result == expected_paths
252+
209253
def test_find_coverage_files_with_file_in_parent(
210254
self, coverage_file_finder_fixture
211255
):

0 commit comments

Comments
 (0)