Exemple #1
0
    def run(self):
        """
        Runs all tests in :attr:`~core.TestRunner.queue` using a pool of
        greenlets to run tests concurrently.
        """
        try:
            import gevent
            from gevent.pool import Pool
            logger.debug('successfully imported gevent.')
        except ImportError:
            raise DtfMissingOptionalDependency('gevent')

        logger.info('running dtf tests using a gevent-based (micro) thread pool.')
        p = Pool(self.pool_size)

        for j in self.queue:
            logger.debug('adding {0} to the job queue'.format(j[1]))
            p.spawn(self.case_definition.get(j[0]), j[1], j[2])