def execute_benchmark(self, benchmark_file):
        benchmark = Benchmark(benchmark_file, self.config,
                              self.config.start_time or time.localtime())
        self.check_existing_results(benchmark)

        self.executor.init(self.config, benchmark)
        output_handler = OutputHandler(benchmark, self.executor.get_system_info(),
                                       self.config.compress_results)

        logging.debug("I'm benchmarking %r consisting of %s run sets.",
                      benchmark_file, len(benchmark.run_sets))

        try:
            result = self.executor.execute_benchmark(benchmark, output_handler)
        finally:
            output_handler.close()
            # remove useless log folder if it is empty
            try:
                os.rmdir(benchmark.log_folder)
            except:
                pass

        if self.config.commit and not self.stopped_by_interrupt:
            try:
                util.add_files_to_git_repository(self.config.output_path,
                        output_handler.all_created_files,
                        self.config.commit_message+'\n\n'+output_handler.description)
            except OSError as e:
                logging.warning('Could not add files to git repository: %s', e)
        return result
Check if we're currently running on a CI system.
dataset/ETHPy150Open sosy-lab/benchexec/benchexec/benchexec.py/BenchExec.execute_benchmark--crossover with--dataset/ETHPy150Open pytest-dev/pytest/_pytest/assertion/__init__.py/_running_on_ci