Commit 92b85f2d by Sébastien Eustace

Fix resolving directory dependencies with no sub dependencies

parent 1ebd629e
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
- Fixed the way packages information are retrieved for legacy repositories. - Fixed the way packages information are retrieved for legacy repositories.
- Fixed an error when adding packages with invalid versions. - Fixed an error when adding packages with invalid versions.
- Fixed an error when resolving directory dependencies with no sub dependencies.
## [0.12.10] - 2018-11-22 ## [0.12.10] - 2018-11-22
......
...@@ -5,6 +5,7 @@ import stat ...@@ -5,6 +5,7 @@ import stat
import tempfile import tempfile
from contextlib import contextmanager from contextlib import contextmanager
from typing import List
from typing import Optional from typing import Optional
from typing import Union from typing import Union
...@@ -41,7 +42,7 @@ def temporary_directory(*args, **kwargs): ...@@ -41,7 +42,7 @@ def temporary_directory(*args, **kwargs):
shutil.rmtree(name) shutil.rmtree(name)
def parse_requires(requires): # type: (str) -> Union[list, None] def parse_requires(requires): # type: (str) -> List[str]
lines = requires.split("\n") lines = requires.split("\n")
requires_dist = [] requires_dist = []
...@@ -79,8 +80,7 @@ def parse_requires(requires): # type: (str) -> Union[list, None] ...@@ -79,8 +80,7 @@ def parse_requires(requires): # type: (str) -> Union[list, None]
requires_dist.append(line) requires_dist.append(line)
if requires_dist: return requires_dist
return requires_dist
def get_http_basic_auth( def get_http_basic_auth(
......
# -*- coding: utf-8 -*-
from setuptools import setup
kwargs = dict(
name="demo",
license="MIT",
version="0.1.2",
description="Demo project.",
author="Sébastien Eustace",
author_email="sebastien@eustace.io",
url="https://github.com/demo/demo",
packages=["demo"],
)
setup(**kwargs)
...@@ -227,6 +227,28 @@ def test_search_for_directory_setup_read_setup_with_extras(provider, mocker): ...@@ -227,6 +227,28 @@ def test_search_for_directory_setup_read_setup_with_extras(provider, mocker):
} }
@pytest.mark.skipif(not PY35, reason="AST parsing does not work for Python <3.4")
def test_search_for_directory_setup_read_setup_with_no_dependencies(provider, mocker):
mocker.patch("poetry.utils.env.Env.get", return_value=MockEnv())
dependency = DirectoryDependency(
"demo",
Path(__file__).parent.parent
/ "fixtures"
/ "git"
/ "github.com"
/ "demo"
/ "no-dependencies",
)
package = provider.search_for_directory(dependency)[0]
assert package.name == "demo"
assert package.version.text == "0.1.2"
assert package.requires == []
assert package.extras == {}
def test_search_for_directory_poetry(provider): def test_search_for_directory_poetry(provider):
dependency = DirectoryDependency( dependency = DirectoryDependency(
"demo", Path(__file__).parent.parent / "fixtures" / "project_with_extras" "demo", Path(__file__).parent.parent / "fixtures" / "project_with_extras"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment