|
7 | 7 |
|
8 | 8 | import pytest |
9 | 9 |
|
10 | | -import setuptools |
11 | 10 | from setuptools import find_packages |
12 | 11 |
|
13 | | -find_420_packages = setuptools.PEP420PackageFinder.find |
| 12 | +try: |
| 13 | + from setuptools import find_packages_ns |
| 14 | +except: |
| 15 | + # just catch |
| 16 | + pass |
| 17 | + |
| 18 | +py33_upwards = pytest.mark.skipif(sys.version_info < (3,3), reason="Test runs on Python >= 3.3 only") |
14 | 19 |
|
15 | 20 | # modeled after CPython's test.support.can_symlink |
16 | 21 |
|
@@ -153,30 +158,35 @@ def test_symlinked_packages_are_included(self): |
153 | 158 | def _assert_packages(self, actual, expected): |
154 | 159 | assert set(actual) == set(expected) |
155 | 160 |
|
| 161 | + @py33_upwards |
156 | 162 | def test_pep420_ns_package(self): |
157 | | - packages = find_420_packages( |
| 163 | + packages = find_packages_ns( |
158 | 164 | self.dist_dir, include=['pkg*'], exclude=['pkg.subpkg.assets']) |
159 | 165 | self._assert_packages(packages, ['pkg', 'pkg.nspkg', 'pkg.subpkg']) |
160 | 166 |
|
| 167 | + @py33_upwards |
161 | 168 | def test_pep420_ns_package_no_includes(self): |
162 | | - packages = find_420_packages( |
| 169 | + packages = find_packages_ns( |
163 | 170 | self.dist_dir, exclude=['pkg.subpkg.assets']) |
164 | 171 | self._assert_packages(packages, ['docs', 'pkg', 'pkg.nspkg', 'pkg.subpkg']) |
165 | 172 |
|
| 173 | + @py33_upwards |
166 | 174 | def test_pep420_ns_package_no_includes_or_excludes(self): |
167 | | - packages = find_420_packages(self.dist_dir) |
168 | | - expected = [ |
169 | | - 'docs', 'pkg', 'pkg.nspkg', 'pkg.subpkg', 'pkg.subpkg.assets'] |
| 175 | + packages = find_packages_ns(self.dist_dir) |
| 176 | + expected = ['docs', 'pkg', 'pkg.nspkg', 'pkg.subpkg', 'pkg.subpkg.assets'] |
170 | 177 | self._assert_packages(packages, expected) |
171 | 178 |
|
| 179 | + @py33_upwards |
172 | 180 | def test_regular_package_with_nested_pep420_ns_packages(self): |
173 | 181 | self._touch('__init__.py', self.pkg_dir) |
174 | | - packages = find_420_packages( |
| 182 | + packages = find_packages_ns( |
175 | 183 | self.dist_dir, exclude=['docs', 'pkg.subpkg.assets']) |
176 | 184 | self._assert_packages(packages, ['pkg', 'pkg.nspkg', 'pkg.subpkg']) |
177 | 185 |
|
| 186 | + @py33_upwards |
178 | 187 | def test_pep420_ns_package_no_non_package_dirs(self): |
179 | 188 | shutil.rmtree(self.docs_dir) |
180 | 189 | shutil.rmtree(os.path.join(self.dist_dir, 'pkg/subpkg/assets')) |
181 | | - packages = find_420_packages(self.dist_dir) |
| 190 | + packages = find_packages_ns(self.dist_dir) |
182 | 191 | self._assert_packages(packages, ['pkg', 'pkg.nspkg', 'pkg.subpkg']) |
| 192 | + |
0 commit comments