Videre
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
from unittest import loader, case
|
||||
from os.path import isdir, isfile, join, dirname, basename
|
||||
|
||||
|
||||
class TestLoader(loader.TestLoader):
|
||||
|
||||
def __init__(self, topleveldir=None):
|
||||
super(TestLoader, self).__init__()
|
||||
self._top_level_dir = topleveldir or dirname(dirname(dirname(__file__)))
|
||||
|
||||
def _find_tests(self, start_dir, pattern, namespace=False):
|
||||
# Upstream doesn't look for 'load_tests' in start_dir.
|
||||
|
||||
if isdir(start_dir) and not namespace and isfile(join(start_dir, '__init__.py')):
|
||||
name = self._get_name_from_path(start_dir)
|
||||
package = self._get_module_from_name(name)
|
||||
load_tests = getattr(package, 'load_tests', None)
|
||||
tests = self.loadTestsFromModule(package)
|
||||
if load_tests is not None:
|
||||
try:
|
||||
yield load_tests(self, tests, pattern)
|
||||
except Exception as e:
|
||||
yield loader._make_failed_load_tests(package.__name__, e, self.suiteClass)
|
||||
else:
|
||||
for t in super(TestLoader, self)._find_tests(start_dir, pattern):
|
||||
yield t
|
||||
Reference in New Issue
Block a user