aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2014-03-22 10:01:01 -0400
committerJason R. Coombs <jaraco@jaraco.com>2014-03-22 10:01:01 -0400
commit0b99bde8ba1e3727e43ba98fb07b6ca6713a0fde (patch)
treea52590a2546900c352d85219315665246c871be7
parentd39698082f57b330546e208ac8799be75007de67 (diff)
downloadexternal_python_setuptools-0b99bde8ba1e3727e43ba98fb07b6ca6713a0fde.tar.gz
external_python_setuptools-0b99bde8ba1e3727e43ba98fb07b6ca6713a0fde.tar.bz2
external_python_setuptools-0b99bde8ba1e3727e43ba98fb07b6ca6713a0fde.zip
Created PEP420PackageFinder, whose .find method can be used to find any suitable directory.
-rw-r--r--setuptools/__init__.py10
-rw-r--r--setuptools/tests/test_find_packages.py23
2 files changed, 13 insertions, 20 deletions
diff --git a/setuptools/__init__.py b/setuptools/__init__.py
index 9ec39b79..27bd74ff 100644
--- a/setuptools/__init__.py
+++ b/setuptools/__init__.py
@@ -79,10 +79,7 @@ class PackageFinder(object):
@staticmethod
def _looks_like_package(path):
- return (
- os.path.isfile(os.path.join(path, '__init__.py'))
- or sys.version_info[:2] >= (3, 3) # PEP 420
- )
+ return os.path.isfile(os.path.join(path, '__init__.py'))
@staticmethod
def _build_filter(*patterns):
@@ -92,6 +89,11 @@ class PackageFinder(object):
"""
return lambda name: any(fnmatchcase(name, pat=pat) for pat in patterns)
+class PEP420PackageFinder(PackageFinder):
+ @staticmethod
+ def _looks_like_package(path):
+ return True
+
find_packages = PackageFinder.find
setup = distutils.core.setup
diff --git a/setuptools/tests/test_find_packages.py b/setuptools/tests/test_find_packages.py
index 3e2619fc..b382c104 100644
--- a/setuptools/tests/test_find_packages.py
+++ b/setuptools/tests/test_find_packages.py
@@ -1,16 +1,13 @@
"""Tests for setuptools.find_packages()."""
import os
import shutil
-import sys
import tempfile
import unittest
+import setuptools
from setuptools import find_packages
-from setuptools.tests.py26compat import skipIf
-
-
-PEP420 = sys.version_info[:2] >= (3, 3)
+find_420_packages = setuptools.PEP420PackageFinder.find
class TestFindPackages(unittest.TestCase):
@@ -63,7 +60,6 @@ class TestFindPackages(unittest.TestCase):
fp.close()
return path
- @skipIf(PEP420, 'Not a PEP 420 env')
def test_regular_package(self):
self._touch('__init__.py', self.pkg_dir)
packages = find_packages(self.dist_dir)
@@ -90,35 +86,30 @@ class TestFindPackages(unittest.TestCase):
def _assert_packages(self, actual, expected):
self.assertEqual(set(actual), set(expected))
- @skipIf(not PEP420, 'PEP 420 only')
def test_pep420_ns_package(self):
- packages = find_packages(
+ packages = find_420_packages(
self.dist_dir, include=['pkg*'], exclude=['pkg.subpkg.assets'])
self._assert_packages(packages, ['pkg', 'pkg.nspkg', 'pkg.subpkg'])
- @skipIf(not PEP420, 'PEP 420 only')
def test_pep420_ns_package_no_includes(self):
- packages = find_packages(
+ packages = find_420_packages(
self.dist_dir, exclude=['pkg.subpkg.assets'])
self._assert_packages(packages, ['docs', 'pkg', 'pkg.nspkg', 'pkg.subpkg'])
- @skipIf(not PEP420, 'PEP 420 only')
def test_pep420_ns_package_no_includes_or_excludes(self):
- packages = find_packages(self.dist_dir)
+ packages = find_420_packages(self.dist_dir)
expected = [
'docs', 'pkg', 'pkg.nspkg', 'pkg.subpkg', 'pkg.subpkg.assets']
self._assert_packages(packages, expected)
- @skipIf(not PEP420, 'PEP 420 only')
def test_regular_package_with_nested_pep420_ns_packages(self):
self._touch('__init__.py', self.pkg_dir)
- packages = find_packages(
+ packages = find_420_packages(
self.dist_dir, exclude=['docs', 'pkg.subpkg.assets'])
self._assert_packages(packages, ['pkg', 'pkg.nspkg', 'pkg.subpkg'])
- @skipIf(not PEP420, 'PEP 420 only')
def test_pep420_ns_package_no_non_package_dirs(self):
shutil.rmtree(self.docs_dir)
shutil.rmtree(os.path.join(self.dist_dir, 'pkg/subpkg/assets'))
- packages = find_packages(self.dist_dir)
+ packages = find_420_packages(self.dist_dir)
self._assert_packages(packages, ['pkg', 'pkg.nspkg', 'pkg.subpkg'])