From 8bae40eb49ff7ce193eea77fbfc0687067d54600 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oleg=20H=C3=B6fling?= Date: Sat, 8 Feb 2020 02:33:52 +0100 Subject: [PATCH] add tests for stub-only package name check MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Oleg Höfling --- .../fixtures/pep_561_stub_only/bad/__init__.pyi | 0 .../fixtures/pep_561_stub_only/bad/module.pyi | 4 ++++ .../pep_561_stub_only/good-stubs/__init__.pyi | 0 .../pep_561_stub_only/good-stubs/module.pyi | 4 ++++ tests/masonry/utils/test_package_include.py | 17 +++++++++++++++++ 5 files changed, 25 insertions(+) create mode 100644 tests/masonry/utils/fixtures/pep_561_stub_only/bad/__init__.pyi create mode 100644 tests/masonry/utils/fixtures/pep_561_stub_only/bad/module.pyi create mode 100644 tests/masonry/utils/fixtures/pep_561_stub_only/good-stubs/__init__.pyi create mode 100644 tests/masonry/utils/fixtures/pep_561_stub_only/good-stubs/module.pyi diff --git a/tests/masonry/utils/fixtures/pep_561_stub_only/bad/__init__.pyi b/tests/masonry/utils/fixtures/pep_561_stub_only/bad/__init__.pyi new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/masonry/utils/fixtures/pep_561_stub_only/bad/module.pyi b/tests/masonry/utils/fixtures/pep_561_stub_only/bad/module.pyi new file mode 100644 index 00000000000..d79e6e39ee0 --- /dev/null +++ b/tests/masonry/utils/fixtures/pep_561_stub_only/bad/module.pyi @@ -0,0 +1,4 @@ +"""Example module""" +from typing import Tuple + +version_info = Tuple[int, int, int] diff --git a/tests/masonry/utils/fixtures/pep_561_stub_only/good-stubs/__init__.pyi b/tests/masonry/utils/fixtures/pep_561_stub_only/good-stubs/__init__.pyi new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/masonry/utils/fixtures/pep_561_stub_only/good-stubs/module.pyi b/tests/masonry/utils/fixtures/pep_561_stub_only/good-stubs/module.pyi new file mode 100644 index 00000000000..d79e6e39ee0 --- /dev/null +++ b/tests/masonry/utils/fixtures/pep_561_stub_only/good-stubs/module.pyi @@ -0,0 +1,4 @@ +"""Example module""" +from typing import Tuple + +version_info = Tuple[int, int, int] diff --git a/tests/masonry/utils/test_package_include.py b/tests/masonry/utils/test_package_include.py index a79ff96f03c..9fafbe7b605 100644 --- a/tests/masonry/utils/test_package_include.py +++ b/tests/masonry/utils/test_package_include.py @@ -41,3 +41,20 @@ def test_package_include_with_no_python_files_in_dir(): PackageInclude(base=with_includes, include="not_a_python_pkg") assert str(e.value) == "not_a_python_pkg is not a package." + + +def test_pep_561_stub_only_package_good_name_suffix(): + pkg_include = PackageInclude( + base=fixtures_dir / "pep_561_stub_only", include="good-stubs" + ) + assert pkg_include.elements == [ + fixtures_dir / "pep_561_stub_only/good-stubs/__init__.pyi", + fixtures_dir / "pep_561_stub_only/good-stubs/module.pyi", + ] + + +def test_pep_561_stub_only_package_bad_name_suffix(): + with pytest.raises(ValueError) as e: + PackageInclude(base=fixtures_dir / "pep_561_stub_only", include="bad") + + assert str(e.value) == "bad is not a package."