aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Heap <tim@timheap.me>2016-09-26 14:00:00 +1000
committerTim Heap <tim@timheap.me>2016-09-26 14:12:17 +1000
commit992adf2f5684e6660335d616149e050b3eaaed17 (patch)
tree0459f65840d55eb36ed54af9b4529c6085a7b86d
parent75a78dc2feedb9287155f146d0b855ea46924961 (diff)
downloadexternal_python_setuptools-992adf2f5684e6660335d616149e050b3eaaed17.tar.gz
external_python_setuptools-992adf2f5684e6660335d616149e050b3eaaed17.tar.bz2
external_python_setuptools-992adf2f5684e6660335d616149e050b3eaaed17.zip
Note find_packages backwards incompatible change
Also add a test for the new behaviour.
-rw-r--r--CHANGES.rst4
-rw-r--r--setuptools/tests/test_find_packages.py9
2 files changed, 13 insertions, 0 deletions
diff --git a/CHANGES.rst b/CHANGES.rst
index d115533a..cf8bcaf9 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -6,6 +6,10 @@ In development
--------------
* #733: Do not search excluded directories for packages.
+ This introduced a backwards incompatible change in ``find_packages()``
+ so that ``find_packages(exclude=['foo']) == []``, excluding subpackages of ``foo``.
+ Previously, ``find_packages(exclude=['foo']) == ['foo.bar']``,
+ even though the parent ``foo`` package was excluded.
v27.3.0
-------
diff --git a/setuptools/tests/test_find_packages.py b/setuptools/tests/test_find_packages.py
index df51b04f..9d31ccd7 100644
--- a/setuptools/tests/test_find_packages.py
+++ b/setuptools/tests/test_find_packages.py
@@ -98,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.