Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_marker_union_all_any():
union = MarkerUnion(parse_marker(""), parse_marker(""))
assert union.is_any()
def test_marker_union_union_duplicates():
m = parse_marker('sys_platform == "darwin" or python_version < "3.4"')
union = m.union(parse_marker('sys_platform == "darwin" or os_name == "Windows"'))
assert str(union) == (
'sys_platform == "darwin" or python_version < "3.4" or os_name == "Windows"'
)
m = parse_marker('sys_platform == "darwin" or python_version < "3.4"')
union = m.union(
parse_marker(
'sys_platform == "darwin" or os_name == "Windows" or python_version <= "3.6"'
)
)
assert str(union) == (
'sys_platform == "darwin" or python_version <= "3.6" or os_name == "Windows"'
)
def test_single_marker():
m = parse_marker('sys_platform == "darwin"')
assert isinstance(m, SingleMarker)
assert m.name == "sys_platform"
assert m.constraint_string == "==darwin"
m = parse_marker('python_version in "2.7, 3.0, 3.1"')
assert isinstance(m, SingleMarker)
assert m.name == "python_version"
assert m.constraint_string == "in 2.7, 3.0, 3.1"
assert str(m.constraint) == ">=2.7.0,<2.8.0 || >=3.0.0,<3.2.0"
m = parse_marker('"2.7" in python_version')
assert isinstance(m, SingleMarker)
assert m.name == "python_version"
def test_single_marker_union_compacts_constraints():
m = parse_marker('python_version < "3.6"')
union = m.union(parse_marker('python_version < "3.4"'))
assert str(union) == 'python_version < "3.6"'
def test_single_marker_not_in_python_intersection():
m = parse_marker('python_version not in "2.7, 3.0, 3.1"')
intersection = m.intersect(
parse_marker('python_version not in "2.7, 3.0, 3.1, 3.2"')
)
assert str(intersection) == 'python_version not in "2.7, 3.0, 3.1, 3.2"'
def test_multi_marker_union_multi():
m = parse_marker('sys_platform == "darwin" and implementation_name == "cpython"')
intersection = m.union(
parse_marker('python_version >= "3.6" and os_name == "Windows"')
)
assert str(intersection) == (
'sys_platform == "darwin" and implementation_name == "cpython" '
'or python_version >= "3.6" and os_name == "Windows"'
def test_marker_union_not_all_empty():
union = MarkerUnion(
parse_marker(""), parse_marker(""), parse_marker("")
)
assert not union.is_empty()
def test_marker_union():
m = parse_marker('sys_platform == "darwin" or implementation_name == "cpython"')
assert isinstance(m, MarkerUnion)
assert m.markers == [
parse_marker('sys_platform == "darwin"'),
parse_marker('implementation_name == "cpython"'),
]
if "marker" in info:
package.marker = parse_marker(info["marker"])
else:
# Compatibility for old locks
if "requirements" in info:
dep = poetry.packages.Dependency("foo", "0.0.0")
for name, value in info["requirements"].items():
if name == "python":
dep.python_versions = value
elif name == "platform":
dep.platform = value
split_dep = dep.to_pep_508(False).split(";")
if len(split_dep) > 1:
package.marker = parse_marker(split_dep[1].strip())
for dep_name, constraint in info.get("dependencies", {}).items():
if isinstance(constraint, list):
for c in constraint:
package.add_dependency(dep_name, c)
continue
package.add_dependency(dep_name, constraint)
if "source" in info:
package.source_type = info["source"]["type"]
package.source_url = info["source"]["url"]
package.source_reference = info["source"]["reference"]
packages.add_package(package)