summaryrefslogtreecommitdiff
path: root/buildscripts/burn_in_tests.py
diff options
context:
space:
mode:
authorCarlos Anaya <carlos.anaya@mongodb.com>2021-05-06 01:09:23 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-05-07 14:25:16 +0000
commit41f7f3e43724ba6b8e20aaae7a8615d410d56bad (patch)
tree0ae4217597196af88df6f5b5f47b3bfc9a79b673 /buildscripts/burn_in_tests.py
parentf6b5026691811a5bf6a1bde2d81c5000124b2a0d (diff)
downloadmongo-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-xbuildscripts/burn_in_tests.py34
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."""