diff options
author | Robert Guo <robert.guo@mongodb.com> | 2021-10-14 12:22:01 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-10-14 13:07:29 +0000 |
commit | 4002c5b76ff7482bd1f93f031fae39c8ee4026dc (patch) | |
tree | bd5d1d064dcc67333e1c030ea492c599ab730f9e /buildscripts/burn_in_tests.py | |
parent | 52be114ab53ba1be2696d4c7c417e6d2e44eaf62 (diff) | |
download | mongo-4002c5b76ff7482bd1f93f031fae39c8ee4026dc.tar.gz |
SERVER-60633 burn_in_tests should respect multiversion tags
Diffstat (limited to 'buildscripts/burn_in_tests.py')
-rwxr-xr-x | buildscripts/burn_in_tests.py | 39 |
1 files changed, 14 insertions, 25 deletions
diff --git a/buildscripts/burn_in_tests.py b/buildscripts/burn_in_tests.py index fd58523d26a..fb2d359a33b 100755 --- a/buildscripts/burn_in_tests.py +++ b/buildscripts/burn_in_tests.py @@ -26,8 +26,7 @@ from buildscripts.patch_builds.change_data import generate_revision_map, \ import buildscripts.resmokelib.parser from buildscripts.resmokelib.suitesconfig import create_test_membership_map, get_suites from buildscripts.resmokelib.utils import default_if_none, globstar -from buildscripts.ciconfig.evergreen import parse_evergreen_file, ResmokeArgs, \ - EvergreenProjectConfig, Variant, VariantTask +from buildscripts.ciconfig.evergreen import parse_evergreen_file, EvergreenProjectConfig, Variant, VariantTask # pylint: enable=wrong-import-position structlog.configure(logger_factory=LoggerFactory()) @@ -207,22 +206,6 @@ def _get_task_name(task): return task.name -def _set_resmoke_args(task): - """ - Set the resmoke args to include the --suites option. - - The suite name from "generate resmoke tasks" can be specified as a var or directly in the - resmoke_args. - """ - - resmoke_args = task.combined_resmoke_args - suite_name = ResmokeArgs.get_arg(resmoke_args, "suites") - if task.is_generate_resmoke_task: - suite_name = task.get_vars_suite_name(task.generate_resmoke_tasks_command["vars"]) - - return ResmokeArgs.set_updated_arg(resmoke_args, "suites", suite_name) - - def _distro_to_run_task_on(task: VariantTask, evg_proj_config: EvergreenProjectConfig, build_variant: str) -> str: """ @@ -256,17 +239,21 @@ class TaskInfo(NamedTuple): Information about tests to run under a specific Task. display_task_name: Display name of task. + suite: Name of resmoke.pu suite that runs in this task. resmoke_args: Arguments to provide to resmoke on task invocation. tests: List of tests to run as part of task. require_multiversion_setup: Requires downloading Multiversion binaries. distro: Evergreen distro task runs on. + build_variant: Evergreen build variant the task runs on. """ display_task_name: str require_multiversion_setup: bool + suite: str resmoke_args: str tests: List[str] distro: str + build_variant: str @classmethod def from_task(cls, task: VariantTask, tests_by_suite: Dict[str, List[str]], @@ -280,11 +267,13 @@ class TaskInfo(NamedTuple): :param build_variant: Build variant task will be run on. :return: Dictionary of information needed to run task. """ + suite = task.get_suite_name() return cls( - display_task_name=_get_task_name(task), resmoke_args=_set_resmoke_args(task), - tests=tests_by_suite[task.resmoke_suite], - require_multiversion_setup=task.require_multiversion_setup, - distro=_distro_to_run_task_on(task, evg_proj_config, build_variant)) + display_task_name=_get_task_name(task), resmoke_args=task.resmoke_args, suite=suite, + tests=tests_by_suite[suite], + require_multiversion_setup=task.require_multiversion_setup(), + distro=_distro_to_run_task_on(task, evg_proj_config, + build_variant), build_variant=build_variant) def create_task_list(evergreen_conf: EvergreenProjectConfig, build_variant: str, @@ -308,14 +297,14 @@ def create_task_list(evergreen_conf: EvergreenProjectConfig, build_variant: str, exclude_tasks_set = set(exclude_tasks) all_variant_tasks = { task.name: task - for task in evg_build_variant.tasks - if task.name not in exclude_tasks_set and task.combined_resmoke_args + for task in evg_build_variant.tasks if task.name not in exclude_tasks_set and ( + task.is_run_tests_task or task.is_generate_resmoke_task) } # Return the list of tasks to run for the specified suite. task_list = { task_name: TaskInfo.from_task(task, tests_by_suite, evergreen_conf, build_variant) - for task_name, task in all_variant_tasks.items() if task.resmoke_suite in tests_by_suite + for task_name, task in all_variant_tasks.items() if task.get_suite_name() in tests_by_suite } log.debug("Found task list", task_list=task_list) |