def handle(self, *test_labels, **options): #send start signal starting_tests.send(sender=self) #call default test command super(Command, self).handle(*test_labels, **options) #send finished signal finished_tests.send(sender=self)
def _execute_tests(test_apps=[], extras=[]): from django.conf import settings # FIXME: if we don't import existdb here, starting_tests doesn't get # triggered for some reason from django.test.utils import get_runner from django.test.simple import DjangoTestSuiteRunner from eulcore.django.testsetup import starting_tests, finished_tests import eulcore.django.existdb starting_tests.send(None) django_runner = get_runner(settings) # in older versions of django and xmlrunner, get_runner returns a run_tests method # newer versions of django and xmlrunner, get_runner returns a class like DjangoTestSuiteRunner if hasattr(django_runner, 'run_tests'): django_runner = django_runner(verbosity=1, interactive=True).run_tests failures = django_runner(test_labels=test_apps, interactive=True, extra_tests=extras) finished_tests.send(None) return failures