If the line contains no spaces, this leads to an error like:
Traceback (most recent call last):
File "/srv/buildslave/flocker-coverage/venv/bin/coverage-reporter", line 5, in <module>
__main__.main(sys.argv)
File "/srv/buildslave/flocker-coverage/venv/lib/python2.7/site-packages/coverage_reporter/__main__.py", line 63, in main
data = filter_coverage(data, plugins.get_filters())
File "/srv/buildslave/flocker-coverage/venv/lib/python2.7/site-packages/coverage_reporter/__main__.py", line 36, in filter_coverage
data = filter.filter(data)
File "/srv/buildslave/flocker-coverage/venv/lib/python2.7/site-packages/coverage_reporter/filters/patch.py", line 13, in filter
return filter_by_patch(coverage_data, self.patch, self.patch_level)
File "/srv/buildslave/flocker-coverage/venv/lib/python2.7/site-packages/coverage_reporter/filters/patch.py", line 20, in filter_by_patch
lines = _get_lines_from_patch(patch_file, patch_level)
File "/srv/buildslave/flocker-coverage/venv/lib/python2.7/site-packages/coverage_reporter/filters/patch.py", line 40, in _get_lines_from_patch
new_file = line.split(None, 1)[1]
IndexError: list index out of range
I haven't observed what happens if there is a space in the line, but it should be different to this IndexError.
The parsing in https://github.com/dugan/coverage-reporter/blob/18ecc9189de4f62b15366901b2451b8047f1ccfb/coverage_reporter/filters/patch.py#L36-L40 reads any sequence of
+++
as a file boundary. Sincegit diff
puts a+
at the start of new lines, and new line that starts with++
will get treated as file boundary.If the line contains no spaces, this leads to an error like:
I haven't observed what happens if there is a space in the line, but it should be different to this IndexError.