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