You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It seems if more that one --excludes wants to match on a single item one gets uncaught exceptions.
Changing it to an error message instead:
diff --git a/lcov_cobertura/lcov_cobertura.py b/lcov_cobertura/lcov_cobertura.py
index 379e405..3faf7a9 100755
--- a/lcov_cobertura/lcov_cobertura.py
+++ b/lcov_cobertura/lcov_cobertura.py
@@ -217,7 +217,10 @@ class LcovCobertura():
excluded = [x for x in coverage_data['packages'] for e in self.excludes
if re.match(e, x)]
for package in excluded:
- del coverage_data['packages'][package]
+ try:
+ del coverage_data['packages'][package]
+ except KeyError as ex:
+ print(f"skipping filter for {package} - not found; duplicate exclude pattern match?")
# Compute line coverage rates
for package_data in list(coverage_data['packages'].values()):
@@ -425,8 +428,8 @@ def main(argv=None):
cobertura_xml = lcov_cobertura.convert()
with open(options.output, mode='wt') as output_file:
output_file.write(cobertura_xml)
- except IOError:
- sys.stderr.write("Unable to convert %s to Cobertura XML" % args[1])
+ except IOError as ex:
+ sys.stderr.write("Unable to convert %s to Cobertura XML %s" % (args[1], ex))
if __name__ == '__main__':
The text was updated successfully, but these errors were encountered:
It seems if more that one
--excludes
wants to match on a single item one gets uncaught exceptions.Changing it to an error message instead:
The text was updated successfully, but these errors were encountered: