summaryrefslogtreecommitdiff
path: root/setuptools
diff options
context:
space:
mode:
Diffstat (limited to 'setuptools')
-rw-r--r--setuptools/command/test.py20
-rw-r--r--setuptools/dist.py18
2 files changed, 19 insertions, 19 deletions
diff --git a/setuptools/command/test.py b/setuptools/command/test.py
index 0370e372..83589fa9 100644
--- a/setuptools/command/test.py
+++ b/setuptools/command/test.py
@@ -51,11 +51,10 @@ class test(Command):
"Test suite to run (e.g. 'some_module.test_suite')"),
]
- test_suite = None
- test_module = None
-
def initialize_options(self):
- pass
+ self.test_suite = None
+ self.test_module = None
+ self.test_loader = None
def finalize_options(self):
@@ -74,9 +73,10 @@ class test(Command):
if self.verbose:
self.test_args.insert(0,'--verbose')
-
-
-
+ if self.test_loader is None:
+ self.test_loader = getattr(self.distribution,'test_loader',None)
+ if self.test_loader is None:
+ self.test_loader = "setuptools.command.test:ScanningLoader"
@@ -111,13 +111,13 @@ class test(Command):
dist = Distribution(path_item, metadata, project_name=ei_cmd.egg_name)
working_set.add(dist)
require(str(dist.as_requirement()))
+ loader_ep = EntryPoint.parse("x="+self.test_loader)
+ loader_class = loader_ep.load(require=False)
unittest.main(
None, None, [unittest.__file__]+self.test_args,
- testLoader = ScanningLoader()
+ testLoader = loader_class()
)
-
-
diff --git a/setuptools/dist.py b/setuptools/dist.py
index 8e34f35d..b1ebeb47 100644
--- a/setuptools/dist.py
+++ b/setuptools/dist.py
@@ -28,15 +28,15 @@ _Distribution = _get_unpatched(_Distribution)
sequence = tuple, list
-
-
-
-
-
-
-
-
-
+def check_importable(dist, attr, value):
+ try:
+ ep = pkg_resources.EntryPoint.parse('x='+value)
+ assert not ep.extras
+ except (TypeError,ValueError,AttributeError,AssertionError):
+ raise DistutilsSetupError(
+ "%r must be importable 'module:attrs' string (got %r)"
+ % (attr,value)
+ )
def assert_string_list(dist, attr, value):