'Run tests normally, but also run BDD tests.
:test_labels: a tuple of test labels specified from the command line, i.e. distributed'

def build_suite(self, test_labels, extra_tests, **kwargs):

    extra_tests = (extra_tests or [])
    browser = webdriver.Firefox()
    browser_version = getattr(browser.capabilities, 'browserVersion', browser.capabilities.get('version', None))
    logging.info('Successfully    setup    Firefox    {0}'.format(browser_version))
    browser.quit()
    if ((not database_exists()) or (os.path.getsize(database_path()) < (1024 * 1024))):
        call_command('retrievecontentpack', 'empty', 'en', force=True, foreground=True)
        logging.info('Successfully    setup    content    database')
    else:
        logging.info('Content    database    already    exists')
    bdd_labels = test_labels
    if (not bdd_labels):
        bdd_labels = reduce((lambda l, x: ((l + [x]) if ('kalite' in x) else l)), settings.INSTALLED_APPS, [])
        bdd_labels = map((lambda s: s[7:]), bdd_labels)
        bdd_labels = tuple(bdd_labels)
    bdd_labels = ([] if self._no_bdd else bdd_labels)
    ignore_empty_test_labels = False
    for label in bdd_labels:
        feature_name = None
        if ('.' in label):
            logging.info(('Found    label    with    dot    in:    %s,    processing    individual    feature' % label))
            full_label = label
            feature_name = label.split('.')[(-1)]
            label = label.split('.')[0]
        try:
            app = get_app(label)
        except ImproperlyConfigured as e:
            logging.warn(e)
            continue
        features_dir = get_features(app)
        if (features_dir is not None):
            if feature_name:
                if check_feature_file(features_dir, feature_name):
                    test_labels = filter((lambda x: (x != full_label)), test_labels)
                    ignore_empty_test_labels = True
                else:
                    logging.info('Invalid    behave    feature    name,    ignoring')
                    continue
            extra_tests.append(self.make_bdd_test_suite(features_dir, feature_name=feature_name))
    if ((not test_labels) and ignore_empty_test_labels):
        suite = suite = unittest.TestSuite()
        if extra_tests:
            for test in extra_tests:
                suite.addTest(test)
        suite = reorder_suite(suite, (unittest.TestCase,))
    else:
        suite = super(KALiteTestRunner, self).build_suite(test_labels, extra_tests, **kwargs)
    suite._tests = filter((lambda x: ('django.' not in x.__module__)), suite._tests)
    if self._bdd_only:
        suite._tests = filter((lambda x: (type(x).__name__ == 'DjangoBehaveTestCase')), suite._tests)
    return suite
