diff options
author | Carlos Anaya <carlos.anaya@mongodb.com> | 2021-05-06 01:09:23 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-05-07 14:25:16 +0000 |
commit | 41f7f3e43724ba6b8e20aaae7a8615d410d56bad (patch) | |
tree | 0ae4217597196af88df6f5b5f47b3bfc9a79b673 /buildscripts/burn_in_tests.py | |
parent | f6b5026691811a5bf6a1bde2d81c5000124b2a0d (diff) | |
download | mongo-41f7f3e43724ba6b8e20aaae7a8615d410d56bad.tar.gz |
SERVER-56196 Added error msg in burn_in_tests for invalid build variant
Diffstat (limited to 'buildscripts/burn_in_tests.py')
-rwxr-xr-x | buildscripts/burn_in_tests.py | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/buildscripts/burn_in_tests.py b/buildscripts/burn_in_tests.py index e0f829d6365..a27ee2e3dca 100755 --- a/buildscripts/burn_in_tests.py +++ b/buildscripts/burn_in_tests.py @@ -27,7 +27,7 @@ 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, VariantTask + EvergreenProjectConfig, Variant, VariantTask # pylint: enable=wrong-import-position structlog.configure(logger_factory=LoggerFactory()) @@ -243,9 +243,9 @@ def _distro_to_run_task_on(task: VariantTask, evg_proj_config: EvergreenProjectC if task_def.is_generate_resmoke_task: resmoke_vars = task_def.generate_resmoke_tasks_command["vars"] if "use_large_distro" in resmoke_vars: - bv = evg_proj_config.get_variant(build_variant) - if "large_distro_name" in bv.raw["expansions"]: - return bv.raw["expansions"]["large_distro_name"] + evg_build_variant = _get_evg_build_variant_by_name(evg_proj_config, build_variant) + if "large_distro_name" in evg_build_variant.raw["expansions"]: + return evg_build_variant.raw["expansions"]["large_distro_name"] return task.run_on[0] @@ -300,10 +300,7 @@ def create_task_list(evergreen_conf: EvergreenProjectConfig, build_variant: str, log = LOGGER.bind(build_variant=build_variant) log.debug("creating task list for suites", suites=tests_by_suite, exclude_tasks=exclude_tasks) - evg_build_variant = evergreen_conf.get_variant(build_variant) - if not evg_build_variant: - log.warning("Buildvariant not found in evergreen config") - raise ValueError(f"Buildvariant ({build_variant} not found in evergreen configuration") + evg_build_variant = _get_evg_build_variant_by_name(evergreen_conf, build_variant) # Find all the build variant tasks. exclude_tasks_set = set(exclude_tasks) @@ -373,7 +370,8 @@ def create_tests_by_task(build_variant: str, evg_conf: EvergreenProjectConfig, :return: Tests by task. """ exclude_suites, exclude_tasks, exclude_tests = find_excludes(SELECTOR_FILE) - if not evg_conf.get_variant(build_variant).is_enterprise_build(): + evg_build_variant = _get_evg_build_variant_by_name(evg_conf, build_variant) + if not evg_build_variant.is_enterprise_build(): exclude_tests.append(f"{ENTERPRISE_MODULE_PATH}/**/*") changed_tests = filter_tests(changed_tests, exclude_tests) @@ -424,6 +422,24 @@ def _configure_logging(verbose: bool): logging.getLogger(log_name).setLevel(logging.WARNING) +def _get_evg_build_variant_by_name( + evergreen_conf: EvergreenProjectConfig, name: str +) -> Variant: + """ + Get the evergreen build variant by name from the evergreen config file. + + :param evergreen_conf: The evergreen config file. + :param name: The build variant name to find. + :return: The evergreen build variant. + """ + evg_build_variant = evergreen_conf.get_variant(name) + if not evg_build_variant: + LOGGER.warning("Build variant not found in evergreen config") + raise ValueError(f"Build variant ({name} not found in evergreen configuration") + + return evg_build_variant + + class FileChangeDetector(ABC): """Interface to detect changes to files.""" |