summaryrefslogtreecommitdiff
path: root/setuptools/tests/test_find_packages.py
diff options
context:
space:
mode:
Diffstat (limited to 'setuptools/tests/test_find_packages.py')
-rw-r--r--setuptools/tests/test_find_packages.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/setuptools/tests/test_find_packages.py b/setuptools/tests/test_find_packages.py
index 06a7c02e..9d31ccd7 100644
--- a/setuptools/tests/test_find_packages.py
+++ b/setuptools/tests/test_find_packages.py
@@ -13,6 +13,8 @@ from setuptools import find_packages
find_420_packages = setuptools.PEP420PackageFinder.find
# modeled after CPython's test.support.can_symlink
+
+
def can_symlink():
TESTFN = tempfile.mktemp()
symlink_path = TESTFN + "can_symlink"
@@ -26,13 +28,15 @@ def can_symlink():
globals().update(can_symlink=lambda: can)
return can
+
def has_symlink():
bad_symlink = (
# Windows symlink directory detection is broken on Python 3.2
- platform.system() == 'Windows' and sys.version_info[:2] == (3,2)
+ platform.system() == 'Windows' and sys.version_info[:2] == (3, 2)
)
return can_symlink() and not bad_symlink
+
class TestFindPackages:
def setup_method(self, method):
@@ -94,6 +98,15 @@ class TestFindPackages:
packages = find_packages(self.dist_dir, exclude=('pkg.*',))
assert packages == ['pkg']
+ def test_exclude_recursive(self):
+ """
+ Excluding a parent package should exclude all child packages as well.
+ """
+ self._touch('__init__.py', self.pkg_dir)
+ self._touch('__init__.py', self.sub_pkg_dir)
+ packages = find_packages(self.dist_dir, exclude=('pkg',))
+ assert packages == []
+
def test_include_excludes_other(self):
"""
If include is specified, other packages should be excluded.