Esempio n. 1
0
    def run_nose(self, params):
        """
        :type params: Params
        """
        thread.set_index(params.thread_index)
        log.debug("[%s] Starting nose iterations: %s", params.worker_index,
                  params)
        assert isinstance(params.tests, list)
        # argv.extend(['--with-apiritif', '--nocapture', '--exe', '--nologcapture'])

        end_time = self.params.ramp_up + self.params.hold_for
        end_time += time.time() if end_time else 0
        time.sleep(params.delay)

        plugin = ApiritifPlugin()
        store.writer.concurrency += 1

        config = Config(env=os.environ,
                        files=all_config_files(),
                        plugins=DefaultPluginManager())
        config.plugins.addPlugins(extraplugins=[plugin])
        config.testNames = params.tests
        config.verbosity = 3 if params.verbose else 0
        if params.verbose:
            config.stream = open(
                os.devnull,
                "w")  # FIXME: use "with", allow writing to file/log

        iteration = 0
        try:
            while True:
                log.debug("Starting iteration:: index=%d,start_time=%.3f",
                          iteration, time.time())
                thread.set_iteration(iteration)
                ApiritifTestProgram(config=config)
                log.debug("Finishing iteration:: index=%d,end_time=%.3f",
                          iteration, time.time())

                iteration += 1

                # reasons to stop
                if plugin.stop_reason:
                    log.debug("[%s] finished prematurely: %s",
                              params.worker_index, plugin.stop_reason)
                elif 0 < params.iterations <= iteration:
                    log.debug("[%s] iteration limit reached: %s",
                              params.worker_index, params.iterations)
                elif 0 < end_time <= time.time():
                    log.debug("[%s] duration limit reached: %s",
                              params.worker_index, params.hold_for)
                else:
                    continue  # continue if no one is faced

                break
        finally:
            store.writer.concurrency -= 1

            if params.verbose:
                config.stream.close()
Esempio n. 2
0
    def run_nose(self, params):
        """
        :type params: Params
        """
        log.debug("[%s] Starting nose iterations: %s", params.worker_index,
                  params)
        print("%s:%s" % (params.worker_index, params.thread_index))
        assert isinstance(params.tests, list)
        # argv.extend(['--with-apiritif', '--nocapture', '--exe', '--nologcapture'])

        end_time = self.params.ramp_up + self.params.hold_for
        end_time += time.time() if end_time else 0
        time.sleep(params.delay)

        iteration = 0

        local_data.total_concurrency = params.total_concurrency
        local_data.thread_index = params.thread_index

        plugin = ApiritifPlugin(self._writer)
        self._writer.concurrency += 1

        config = Config(env=os.environ,
                        files=all_config_files(),
                        plugins=DefaultPluginManager())
        config.plugins.addPlugins(extraplugins=[plugin])
        config.testNames = params.tests
        config.verbosity = 3 if params.verbose else 0
        if params.verbose:
            config.stream = open(
                os.devnull,
                "w")  # FIXME: use "with", allow writing to file/log
        try:
            while True:
                local_data.iteration = iteration
                iteration += 1

                log.debug("Starting iteration:: index=%d,start_time=%.3f",
                          iteration, time.time())
                ApiritifTestProgram(config=config)
                log.debug("Finishing iteration:: index=%d,end_time=%.3f",
                          iteration, time.time())

                if iteration >= params.iterations:
                    log.debug("[%s] iteration limit reached: %s",
                              params.worker_index, params.iterations)
                    break

                if 0 < end_time <= time.time():
                    log.debug("[%s] duration limit reached: %s",
                              params.worker_index, params.hold_for)
                    break
        finally:
            self._writer.concurrency -= 1
            if params.verbose:
                config.stream.close()
Esempio n. 3
0
def BlacklistConfig(blacklist_file, excludes=()):
    config = Config()
    config.verbosity = 3
    config.plugins = BlacklistPlugins(blacklist_file)
    if excludes: config.exclude = map(re.compile, excludes)
    return config
Esempio n. 4
0
def BlacklistConfig(blacklist_file, excludes=()):
    config = Config()
    config.verbosity = 3
    config.plugins = BlacklistPlugins(blacklist_file)
    if excludes: config.exclude = map(re.compile, excludes)
    return config