diff --git a/src/calibre/db/tests/main.py b/src/calibre/db/tests/main.py index e097dcb7eb..329f126580 100644 --- a/src/calibre/db/tests/main.py +++ b/src/calibre/db/tests/main.py @@ -7,7 +7,7 @@ __license__ = 'GPL v3' __copyright__ = '2013, Kovid Goyal ' __docformat__ = 'restructuredtext en' -import unittest, os, argparse, time, functools +import unittest, os, argparse, time, functools, importlib try: import init_calibre # noqa @@ -59,7 +59,13 @@ class TestResult(unittest.TextTestResult): self.stream.writeln('\nSlowest tests: %s' % ' '.join(slowest)) def find_tests(): - return unittest.defaultTestLoader.discover(os.path.dirname(os.path.abspath(__file__)), pattern='*.py') + base = os.path.dirname(os.path.abspath(__file__)) + suits = [] + for x in os.listdir(base): + if x.endswith('.py') and x != 'main.py': + m = importlib.import_module('calibre.db.tests.' + x.partition('.')[0]) + suits.append(unittest.defaultTestLoader.loadTestsFromModule(m)) + return unittest.TestSuite(suits) def run_tests(find_tests=find_tests): parser = argparse.ArgumentParser() diff --git a/src/calibre/ebooks/oeb/polish/tests/main.py b/src/calibre/ebooks/oeb/polish/tests/main.py index 8243474f36..81c76a68de 100644 --- a/src/calibre/ebooks/oeb/polish/tests/main.py +++ b/src/calibre/ebooks/oeb/polish/tests/main.py @@ -12,10 +12,16 @@ try: except ImportError: pass -import os, unittest +import os, unittest, importlib def find_tests(): - return unittest.defaultTestLoader.discover(os.path.dirname(os.path.abspath(__file__)), pattern='*.py') + base = os.path.dirname(os.path.abspath(__file__)) + suits = [] + for x in os.listdir(base): + if x.endswith('.py') and x != 'main.py': + m = importlib.import_module('calibre.ebooks.oeb.polish.tests.' + x.partition('.')[0]) + suits.append(unittest.defaultTestLoader.loadTestsFromModule(m)) + return unittest.TestSuite(suits) if __name__ == '__main__': from calibre.db.tests.main import run_tests diff --git a/src/calibre/srv/tests/main.py b/src/calibre/srv/tests/main.py index 6c5fd41c71..14767fb1b0 100644 --- a/src/calibre/srv/tests/main.py +++ b/src/calibre/srv/tests/main.py @@ -6,7 +6,7 @@ from __future__ import (unicode_literals, division, absolute_import, __license__ = 'GPL v3' __copyright__ = '2015, Kovid Goyal ' -import unittest, os, argparse, time, functools +import unittest, os, argparse, time, functools, importlib try: import init_calibre @@ -59,7 +59,13 @@ class TestResult(unittest.TextTestResult): self.stream.writeln('\nSlowest tests: %s' % ' '.join(slowest)) def find_tests(): - return unittest.defaultTestLoader.discover(os.path.dirname(os.path.abspath(__file__)), pattern='*.py') + base = os.path.dirname(os.path.abspath(__file__)) + suits = [] + for x in os.listdir(base): + if x.endswith('.py') and x != 'main.py': + m = importlib.import_module('calibre.srv.tests.' + x.partition('.')[0]) + suits.append(unittest.defaultTestLoader.loadTestsFromModule(m)) + return unittest.TestSuite(suits) def run_tests(find_tests=find_tests): from calibre.gui2 import ensure_app, load_builtin_fonts