Beispiel #1
0
def pytest_unconfigure(config):

    if HAS_COVERAGE:

        # Add all files from extension_helpers to make sure we compute the total
        # coverage, not just the coverage of the files that have non-zero
        # coverage.

        lines = {}
        for filename in glob.glob(os.path.join('extension_helpers', '**',
                                               '*.py'),
                                  recursive=True):
            lines[os.path.abspath(filename)] = []

        for cdata in SUBPROCESS_COVERAGE:
            # For each CoverageData object, we go through all the files and
            # change the filename from one which might be a temporary path
            # to the local filename. We then only keep files that actually
            # exist.
            for filename in cdata.measured_files():
                try:
                    pos = filename.rindex('extension_helpers')
                except ValueError:
                    continue
                short_filename = filename[pos:]
                if os.path.exists(short_filename):
                    lines[os.path.abspath(short_filename)].extend(
                        cdata.lines(filename))

        if HAS_COVERAGE >= 5:
            # Support coverage<5 and >=5; see
            # https://github.com/astropy/extension-helpers/issues/24
            # We create an empty coverage data object
            combined_cdata = CoverageData(suffix='subprocess')
            combined_cdata.add_lines(lines)
            combined_cdata.write()
        else:
            combined_cdata = CoverageData()
            combined_cdata.add_lines(lines)
            combined_cdata.write_file('.coverage.subprocess')
Beispiel #2
0
import sys

from coverage import CoverageData

# import this so we get our monkey patching done which is needed for
# os.path.relpath on python2.5
import xtraceback


def transform_data(data, transform):
    result = dict()
    for path, value in data.items():
        result[transform(path)] = value
    return result


if __name__ == "__main__":

    transform = getattr(os.path, "%spath" % sys.argv[1])
    paths = sys.argv[2:]
    assert paths

    for path in paths:
        data = CoverageData(path)
        data.read()
        for field in ("lines", "arcs"):
            field_data = getattr(data, field)
            assert field_data
            setattr(data, field, transform_data(field_data, transform))
        data.write()
from coverage import CoverageData

# import this so we get our monkey patching done which is needed for
# os.path.relpath on python2.5
import xtraceback


def transform_data(data, transform):
    result = dict()
    for path, value in data.items():
        result[transform(path)] = value
    return result


if __name__ == "__main__":

    transform = getattr(os.path, "%spath" % sys.argv[1])
    paths = sys.argv[2:]
    assert paths

    for path in paths:
        data = CoverageData(path)
        data.read()
        for field in ("lines", "arcs"):
            field_data = getattr(data, field)
            assert field_data
            setattr(data, field,
                    transform_data(field_data, transform))
        data.write()