diff --git a/src/server/testing_suite.py b/src/server/testing_suite.py deleted file mode 100644 index 2968c4ed9..000000000 --- a/src/server/testing_suite.py +++ /dev/null @@ -1,25 +0,0 @@ -""" -Test runner for Evennia test suite. Run with "game/manage.py test". - -""" - -from django.conf import settings -from django.test.simple import DjangoTestSuiteRunner - - -class EvenniaTestSuiteRunner(DjangoTestSuiteRunner): - """ - This test runner only runs tests on the apps specified in src/ and game/ to - avoid running the large number of tests defined by Django - """ - def build_suite(self, test_labels, extra_tests=None, **kwargs): - """ - Build a test suite for Evennia. test_labels is a list of apps to test. - If not given, a subset of settings.INSTALLED_APPS will be used. - """ - if not test_labels: - test_labels = [applabel.rsplit('.', 1)[1] for applabel in settings.INSTALLED_APPS - if (applabel.startswith('src.') or applabel.startswith('game.'))] - return super(EvenniaTestSuiteRunner, self).build_suite(test_labels, extra_tests=extra_tests, **kwargs) - - diff --git a/src/server/tests.py b/src/server/tests.py index a9feba557..d1051cfcb 100644 --- a/src/server/tests.py +++ b/src/server/tests.py @@ -26,15 +26,35 @@ try: except ImportError: import unittest -from src.locks import tests as locktests -from src.utils import tests as utiltests -from src.commands.default import tests as commandtests +from django.conf import settings +from django.test.simple import DjangoTestSuiteRunner + + +class EvenniaTestSuiteRunner(DjangoTestSuiteRunner): + """ + This test runner only runs tests on the apps specified in src/ and game/ to + avoid running the large number of tests defined by Django + """ + def build_suite(self, test_labels, extra_tests=None, **kwargs): + """ + Build a test suite for Evennia. test_labels is a list of apps to test. + If not given, a subset of settings.INSTALLED_APPS will be used. + """ + if not test_labels: + test_labels = [applabel.rsplit('.', 1)[1] for applabel in settings.INSTALLED_APPS + if (applabel.startswith('src.') or applabel.startswith('game.'))] + return super(EvenniaTestSuiteRunner, self).build_suite(test_labels, extra_tests=extra_tests, **kwargs) + def suite(): """ This function is called automatically by the django test runner. This also collates tests from packages that are not formally django applications. """ + from src.locks import tests as locktests + from src.utils import tests as utiltests + from src.commands.default import tests as commandtests + tsuite = unittest.TestSuite() tsuite.addTest(unittest.defaultTestLoader.loadTestsFromModule(sys.modules[__name__])) diff --git a/src/settings_default.py b/src/settings_default.py index 08af926ad..75d8b7fad 100644 --- a/src/settings_default.py +++ b/src/settings_default.py @@ -522,7 +522,7 @@ INSTALLED_APPS = ( AUTH_USER_MODEL = "players.PlayerDB" #AUTH_PROFILE_MODULE = "players.PlayerDB" # Use a custom test runner that just tests Evennia-specific apps. -TEST_RUNNER = 'src.server.testing_suite.EvenniaTestSuiteRunner' +TEST_RUNNER = 'src.server.tests.EvenniaTestSuiteRunner' ###################################################################### # Django extensions