コード例 #1
0
ファイル: test_api.py プロジェクト: JapneetSingh/mutatest
def test_GenomeGroup_covered_targets(filter_codes, binop_file, mock_binop_coverage_file):
    """Mock coverage file sets lines 6 and 10 (not 15) to be covered."""
    ggrp = GenomeGroup(binop_file)
    ggrp.set_coverage(mock_binop_coverage_file)
    ggrp.set_filter(filter_codes)

    assert len(ggrp.targets) == 4
    assert len(ggrp.covered_targets) == 3

    for ct in ggrp.covered_targets:
        assert ct.source_path == binop_file
        assert ct.loc_idx.lineno in [6, 10]

    diff = list(ggrp.targets - ggrp.covered_targets)
    assert diff[0].loc_idx.lineno == 15
コード例 #2
0
ファイル: run.py プロジェクト: davidlibland/mutatest
def get_genome_group(src_loc: Path, config: Config) -> GenomeGroup:
    """Get the ``GenomeGroup`` based on ``src_loc`` and ``config``.

    ``Config`` is used to set global filter codes and exclude files on group creation.

    Args:
        src_loc: Path, can be directory or file
        config: the running config object

    Returns:
        ``GenomeGroup`` based on ``src_loc`` and config.
    """
    ggrp = GenomeGroup()

    # check if src_loc is a single file, otherwise assume it's a directory
    if src_loc.is_file():
        ggrp.add_file(source_file=src_loc)

    else:
        ggrp.add_folder(source_folder=src_loc,
                        exclude_files=config.exclude_files,
                        ignore_test_files=True)

    if config.filter_codes:
        LOGGER.info("Category restriction, chosen categories: %s",
                    sorted(config.filter_codes))
        ggrp.set_filter(filter_codes=config.filter_codes)

    for k, genome in ggrp.items():
        LOGGER.info(
            "%s",
            colorize_output(
                f"{len(genome.targets)} mutation targets found in {genome.source_file} AST.",
                "green" if len(genome.targets) > 0 else "yellow",
            ),
        )

    for e in config.exclude_files:
        LOGGER.info("%s", colorize_output(f"{e.resolve()} excluded.",
                                          "yellow"))

    return ggrp