def combine_pex_coverage(root_dir, coverage_file_iter, unlink=True): combined = CoverageData(basename='.coverage') for filename in coverage_file_iter: cov = CoverageData(basename=filename) cov.read() combined.add_line_data(dict(_iter_filter(root_dir, cov.line_data()))) combined.add_arc_data(dict(_iter_filter(root_dir, cov.arc_data()))) if unlink: os.unlink(filename) # filter out non-pex files prefix = os.path.join(root_dir, 'pex/') non_pex = [ filename for filename in combined.lines if not filename.startswith(prefix) ] for filename in non_pex: combined.lines.pop(filename) non_pex = [ filename for filename in combined.arcs if not filename.startswith(prefix) ] for filename in non_pex: combined.arcs.pop(filename) combined.write() return combined.filename
def combine_pex_coverage(coverage_file_iter): from coverage.data import CoverageData combined = CoverageData(basename='.coverage_combined') for filename in coverage_file_iter: cov = CoverageData(basename=filename) cov.read() combined.add_line_data(dict(_iter_filter(cov.line_data()))) combined.add_arc_data(dict(_iter_filter(cov.arc_data()))) combined.write() return combined.filename
def combine_pex_coverage(root_dir, coverage_file_iter, unlink=True): combined = CoverageData(basename='.coverage') for filename in coverage_file_iter: cov = CoverageData(basename=filename) cov.read() combined.add_line_data(dict(_iter_filter(root_dir, cov.line_data()))) combined.add_arc_data(dict(_iter_filter(root_dir, cov.arc_data()))) os.unlink(filename) # filter out non-pex files prefix = os.path.join(root_dir, 'pex/') non_pex = [filename for filename in combined.lines if not filename.startswith(prefix)] for filename in non_pex: combined.lines.pop(filename) non_pex = [filename for filename in combined.arcs if not filename.startswith(prefix)] for filename in non_pex: combined.arcs.pop(filename) combined.write() return combined.filename