From a7fdee64ac419519e4726f9e28cb1fd787cde46e Mon Sep 17 00:00:00 2001 From: Arun Babu Neelicattu Date: Fri, 17 Apr 2020 01:39:15 +0200 Subject: [PATCH] mark path case sensitive tests as xfail for win32 --- poetry/core/utils/_compat.py | 1 + tests/masonry/builders/test_builder.py | 27 +++++++++++++++++++------- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/poetry/core/utils/_compat.py b/poetry/core/utils/_compat.py index ad8b8f6a5..adf144b47 100644 --- a/poetry/core/utils/_compat.py +++ b/poetry/core/utils/_compat.py @@ -20,6 +20,7 @@ PY34 = sys.version_info >= (3, 4) PY35 = sys.version_info >= (3, 5) PY36 = sys.version_info >= (3, 6) +PY37 = sys.version_info >= (3, 7) WINDOWS = sys.platform == "win32" diff --git a/tests/masonry/builders/test_builder.py b/tests/masonry/builders/test_builder.py index 39de435f1..8d6229932 100644 --- a/tests/masonry/builders/test_builder.py +++ b/tests/masonry/builders/test_builder.py @@ -1,8 +1,13 @@ # -*- coding: utf-8 -*- +import sys + from email.parser import Parser +import pytest + from poetry.core.factory import Factory from poetry.core.masonry.builders.builder import Builder +from poetry.core.utils._compat import PY37 from poetry.core.utils._compat import Path @@ -11,12 +16,16 @@ def test_builder_find_excluded_files(mocker): p.return_value = [] builder = Builder( - Factory().create_poetry(Path(__file__).parent / "fixtures" / "complete"), + Factory().create_poetry(Path(__file__).parent / "fixtures" / "complete") ) assert builder.find_excluded_files() == {"my_package/sub_pkg1/extra_file.xml"} +@pytest.mark.xfail( + sys.platform == "win32" and not PY37, + reason="Windows is case insensitive for the most part", +) def test_builder_find_case_sensitive_excluded_files(mocker): p = mocker.patch("poetry.core.vcs.git.Git.get_ignored_files") p.return_value = [] @@ -24,7 +33,7 @@ def test_builder_find_case_sensitive_excluded_files(mocker): builder = Builder( Factory().create_poetry( Path(__file__).parent / "fixtures" / "case_sensitive_exclusions" - ), + ) ) assert builder.find_excluded_files() == { @@ -38,6 +47,10 @@ def test_builder_find_case_sensitive_excluded_files(mocker): } +@pytest.mark.xfail( + sys.platform == "win32" and not PY37, + reason="Windows is case insensitive for the most part", +) def test_builder_find_invalid_case_sensitive_excluded_files(mocker): p = mocker.patch("poetry.core.vcs.git.Git.get_ignored_files") p.return_value = [] @@ -45,7 +58,7 @@ def test_builder_find_invalid_case_sensitive_excluded_files(mocker): builder = Builder( Factory().create_poetry( Path(__file__).parent / "fixtures" / "invalid_case_sensitive_exclusions" - ), + ) ) assert {"my_package/Bar/foo/bar/Foo.py"} == builder.find_excluded_files() @@ -53,7 +66,7 @@ def test_builder_find_invalid_case_sensitive_excluded_files(mocker): def test_get_metadata_content(): builder = Builder( - Factory().create_poetry(Path(__file__).parent / "fixtures" / "complete"), + Factory().create_poetry(Path(__file__).parent / "fixtures" / "complete") ) metadata = builder.get_metadata_content() @@ -103,7 +116,7 @@ def test_get_metadata_content(): def test_metadata_homepage_default(): builder = Builder( - Factory().create_poetry(Path(__file__).parent / "fixtures" / "simple_version"), + Factory().create_poetry(Path(__file__).parent / "fixtures" / "simple_version") ) metadata = Parser().parsestr(builder.get_metadata_content()) @@ -115,7 +128,7 @@ def test_metadata_with_vcs_dependencies(): builder = Builder( Factory().create_poetry( Path(__file__).parent / "fixtures" / "with_vcs_dependency" - ), + ) ) metadata = Parser().parsestr(builder.get_metadata_content()) @@ -129,7 +142,7 @@ def test_metadata_with_url_dependencies(): builder = Builder( Factory().create_poetry( Path(__file__).parent / "fixtures" / "with_url_dependency" - ), + ) ) metadata = Parser().parsestr(builder.get_metadata_content())