def _compile_executors_and_benchmark_suites(self, executions, suites, configurator):
    results = []
    for executor_cfg in executions:
        (executor_name, executor_details) = value_with_optional_details(executor_cfg)
        run_details = self._run_details
        variables = self._variables
        if executor_details:
            run_details = ExpRunDetails.compile(executor_details, run_details)
            variables = ExpVariables.compile(executor_details, variables)
            suites_for_executor = executor_details.get('suites', suites)
        else:
            suites_for_executor = suites
        executor = configurator.get_executor(executor_name, run_details, variables)
        for suite_name in suites_for_executor:
            suite = BenchmarkSuite.compile(suite_name, configurator.get_suite(suite_name), executor, configurator.build_commands)
            results.append(suite)
    return results
def _compile_executors_and_benchmark_suites(self, executions, suites, configurator):
    results = []
    for executor_cfg in executions:
        (executor_name, executor_details) = value_with_optional_details(executor_cfg)
        run_details = self._run_details
        variables = self._variables
        if executor_details:
            run_details = ExpRunDetails.compile(executor_details, run_details)
            variables = ExpVariables.compile(executor_details, variables)
            suites_for_executor = executor_details.get('suites', suites)
        else:
            suites_for_executor = suites
        executor = configurator.get_executor(executor_name, run_details, variables)
        for suite_name in suites_for_executor:
            suite = BenchmarkSuite.compile(suite_name, configurator.get_suite(suite_name), executor, configurator.build_commands)
            results.append(suite)
    return results