Beispiel #1
0
def test_pip_downloads_nothing_when_no_requirements_are_given(
    pip: Pip, download_dir, current_platform
):
    pip.download_sources(
        requirements=RequirementSet(current_platform), target_directory=download_dir
    )
    assert not list_files(download_dir)
Beispiel #2
0
def test_pip_wheel_does_not_build_wheels_if_requirements_are_empty(
    pip: Pip, wheels_dir, download_dir, current_platform
):
    pip.build_wheels(
        requirements=RequirementSet(current_platform),
        target_directory=wheels_dir,
        source_directories=download_dir,
    )
    assert not list_files(wheels_dir)
Beispiel #3
0
def test_pip_downloads_sources_to_target_directory(
    pip: Pip,
    project_dir: str,
    current_platform: TargetPlatform,
    requirement_parser: RequirementParser,
):
    download_path = os.path.join(project_dir, "download")
    requirements = RequirementSet(current_platform)
    requirements.add(requirement_parser.parse("six"))
    pip.download_sources(requirements=requirements, target_directory=download_path)
    assert list_files(download_path)
Beispiel #4
0
def test_install_six_yields_non_empty_freeze_output(pip: Pip, project_dir,
                                                    download_dir,
                                                    current_platform,
                                                    requirement_parser):
    lib_dir = os.path.join(project_dir, "lib")
    requirements = RequirementSet(current_platform)
    requirements.add(requirement_parser.parse("six"))
    pip.download_sources(requirements, download_dir)
    pip.install(requirements,
                source_directories=[download_dir],
                target_directory=lib_dir)
    assert pip.freeze([lib_dir])
Beispiel #5
0
def test_install_to_target_directory_does_not_install_to_default_directory(
        pip: Pip, project_dir, download_dir, current_platform,
        requirement_parser):
    requirements = RequirementSet(current_platform)
    requirements.add(requirement_parser.parse("six"))
    target_directory = os.path.join(project_dir, "target-directory")
    os.makedirs(target_directory)
    pip.download_sources(requirements, download_dir)

    assert not os.listdir(target_directory)

    pip.install(
        requirements,
        source_directories=[download_dir],
        target_directory=target_directory,
    )

    assert os.listdir(target_directory)
Beispiel #6
0
def test_freeze_respects_additional_python_path(
    pip: Pip,
    project_dir: str,
    current_platform: TargetPlatform,
    requirement_parser: RequirementParser,
):
    prefix = os.path.join(project_dir, "custom-prefix")
    download_dir = os.path.join(project_dir, "download")
    requirements = RequirementSet(current_platform)
    requirements.add(requirement_parser.parse("six"))
    pip.download_sources(requirements, download_dir)
    pip.install(requirements,
                target_directory=prefix,
                source_directories=[download_dir])
    freeze_without_six = pip.freeze([])
    freeze_with_six = pip.freeze(python_path=[prefix])
    assert len(freeze_without_six) < len(freeze_with_six)
Beispiel #7
0
def test_freeze_on_empty_environment_yields_empty_file(pip: Pip):
    frozen_requirements = pip.freeze([])
    assert not frozen_requirements.strip()
Beispiel #8
0
def test_install_does_not_install_anything_with_empty_requirements(
        pip: Pip, project_dir, current_platform):
    target_directory = os.path.join(project_dir, "target_dir")
    os.makedirs(target_directory)
    pip.install(RequirementSet(current_platform), [], target_directory)
    assert not os.listdir(target_directory)