Ejemplo n.º 1
0
    def test_passes_correct_default_kwargs(self, monkeypatch):
        my_mock = mock.MagicMock(return_value=[])
        monkeypatch.setattr(check, "get_installed_distributions", my_mock)

        check.create_package_set_from_installed()

        my_mock.assert_called_with(local_only=False, skip=())
Ejemplo n.º 2
0
    def test_passes_correct_default_kwargs(self, monkeypatch):
        my_mock = mock.MagicMock(return_value=[])
        monkeypatch.setattr(check, "get_installed_distributions", my_mock)

        check.create_package_set_from_installed()

        my_mock.assert_called_with(local_only=False, skip=())
Ejemplo n.º 3
0
    def test_passes_any_given_kwargs(self, monkeypatch):
        my_mock = mock.MagicMock(return_value=[])
        monkeypatch.setattr(check, "get_installed_distributions", my_mock)

        obj = object()
        check.create_package_set_from_installed(hi=obj)

        my_mock.assert_called_with(hi=obj)
Ejemplo n.º 4
0
    def test_passes_any_given_kwargs(self, monkeypatch):
        my_mock = mock.MagicMock(return_value=[])
        monkeypatch.setattr(check, "get_installed_distributions", my_mock)

        obj = object()
        check.create_package_set_from_installed(hi=obj)

        my_mock.assert_called_with(hi=obj)
def collect_package_set():
    pip_version = parse_version(get_distribution('pip').version)
    package_set = None

    if pip_version >= parse_version('18') and pip_version < parse_version(
            '19'):
        return create_package_set_from_installed()
    elif pip_version >= parse_version('19'):
        package_set = create_package_set_from_installed()[0]

    return package_set
Ejemplo n.º 6
0
    def run(self, options, args):
        package_set, parsing_probs = create_package_set_from_installed()
        missing, conflicting = check_package_set(package_set)

        for project_name in missing:
            version = package_set[project_name].version
            for dependency in missing[project_name]:
                write_output(
                    "%s %s requires %s, which is not installed.",
                    project_name,
                    version,
                    dependency[0],
                )

        for project_name in conflicting:
            version = package_set[project_name].version
            for dep_name, dep_version, req in conflicting[project_name]:
                write_output(
                    "%s %s has requirement %s, but you have %s %s.",
                    project_name,
                    version,
                    req,
                    dep_name,
                    dep_version,
                )

        if missing or conflicting or parsing_probs:
            return 1
        else:
            write_output("No broken requirements found.")
def check_for_missing_requirements_and_dependency_incompatibilities():
    try:
        package_set = create_package_set_from_installed()
        missing, conflicting = check_package_set(package_set)

        io.echo('  - Checking for missing requirements ... ')
        if missing:
            color_red('    Found unmet dependencies')
            color_red(missing)
        else:
            color_green('    OK!')

        io.echo('  - Checking for dependency incompatibilities ... ')
        if conflicting:
            color_red('    Found dependency incompatibilities')
            color_red(conflicting)
        else:
            color_green('    OK!')

        if missing or conflicting:
            exit(1)
    except Exception as e:
        raise RuntimeError(
            '    Something went wrong while attempting to find missing and/or incompatible dependencies. '
            'The following exception was raised: \n    {}'.format(str(e)))
Ejemplo n.º 8
0
    def run(self, options, args):
        package_set, parsing_probs = create_package_set_from_installed()
        missing, conflicting = check_package_set(package_set)

        for project_name in missing:
            version = package_set[project_name].version
            for dependency in missing[project_name]:
                logger.info(
                    "%s %s requires %s, which is not installed.",
                    project_name, version, dependency[0],
                )

        for project_name in conflicting:
            version = package_set[project_name].version
            for dep_name, dep_version, req in conflicting[project_name]:
                logger.info(
                    "%s %s has requirement %s, but you have %s %s.",
                    project_name, version, req, dep_name, dep_version,
                )

        if missing or conflicting or parsing_probs:
            return 1
        else:
            logger.info("No broken requirements found.")
Ejemplo n.º 9
0
def package_set_load():
    g.package_set, g.parsing_probs = create_package_set_from_installed()
    g.missing, g.conflicting = check_package_set(g.package_set)
    return g.package_set
Ejemplo n.º 10
0
if MYPY_CHECK_RUNNING:
    from typing import List, Any
    from optparse import Values


class CheckCommand(Command):
    """Verify installed packages have compatible dependencies."""

    usage = """
      %prog [options]"""

    def run(self, options, args):
        # type: (Values, List[Any]) -> int

>>>>>>> e585743114c1741ec20dc76010f96171f3516589
        package_set, parsing_probs = create_package_set_from_installed()
        missing, conflicting = check_package_set(package_set)

        for project_name in missing:
            version = package_set[project_name].version
            for dependency in missing[project_name]:
<<<<<<< HEAD
                logger.info(
=======
                write_output(
>>>>>>> e585743114c1741ec20dc76010f96171f3516589
                    "%s %s requires %s, which is not installed.",
                    project_name, version, dependency[0],
                )

        for project_name in conflicting:
Ejemplo n.º 11
0
 def run(self, options, args):
     package_set, parsing_probs = create_package_set_from_installed()