summaryrefslogtreecommitdiff
path: root/buildscripts
diff options
context:
space:
mode:
authorDavid Bradford <david.bradford@mongodb.com>2021-04-19 13:09:23 -0400
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-04-19 19:36:17 +0000
commit7907d07ae21a9556fc20d7a7d095b60e392d1b05 (patch)
tree8542152706376b2323ba7d45f1d0f9eda00d4747 /buildscripts
parentc3209ebb1db49656dcc3d1edf3635f7c7e96add5 (diff)
downloadmongo-7907d07ae21a9556fc20d7a7d095b60e392d1b05.tar.gz
SERVER-56175: Fix timing issue in test_evergreen_burn_in_tests.py
Diffstat (limited to 'buildscripts')
-rw-r--r--buildscripts/evergreen_burn_in_tests.py9
-rw-r--r--buildscripts/tests/test_evergreen_burn_in_tests.py3
2 files changed, 9 insertions, 3 deletions
diff --git a/buildscripts/evergreen_burn_in_tests.py b/buildscripts/evergreen_burn_in_tests.py
index f3b2092497a..bdea8664635 100644
--- a/buildscripts/evergreen_burn_in_tests.py
+++ b/buildscripts/evergreen_burn_in_tests.py
@@ -273,8 +273,10 @@ class EvergreenFileChangeDetector(FileChangeDetector):
class GenerateBurnInExecutor(BurnInExecutor):
"""A burn-in executor that generates tasks."""
+ # pylint: disable=too-many-arguments
def __init__(self, generate_config: GenerateConfig, repeat_config: RepeatConfig,
- evg_api: EvergreenApi, generate_tasks_file: Optional[str] = None) -> None:
+ evg_api: EvergreenApi, generate_tasks_file: Optional[str] = None,
+ history_end_date: Optional[datetime] = None) -> None:
"""
Create a new generate burn-in executor.
@@ -282,11 +284,14 @@ class GenerateBurnInExecutor(BurnInExecutor):
:param repeat_config: Configuration for how tests should be repeated.
:param evg_api: Evergreen API client.
:param generate_tasks_file: File to write generated task configuration to.
+ :param history_end_date: End date of range to query for historic test data.
"""
self.generate_config = generate_config
self.repeat_config = repeat_config
self.evg_api = evg_api
self.generate_tasks_file = generate_tasks_file
+ self.history_end_date = history_end_date if history_end_date else datetime.utcnow()\
+ .replace(microsecond=0)
def get_task_runtime_history(self, task: str) -> List[TestRuntime]:
"""
@@ -298,7 +303,7 @@ class GenerateBurnInExecutor(BurnInExecutor):
try:
project = self.generate_config.project
variant = self.generate_config.build_variant
- end_date = datetime.utcnow().replace(microsecond=0)
+ end_date = self.history_end_date
start_date = end_date - timedelta(days=AVG_TEST_RUNTIME_ANALYSIS_DAYS)
test_stats = HistoricTaskData.from_evg(self.evg_api, project, start_date=start_date,
end_date=end_date, task=task, variant=variant)
diff --git a/buildscripts/tests/test_evergreen_burn_in_tests.py b/buildscripts/tests/test_evergreen_burn_in_tests.py
index 64ce3b6c51d..e78f915797b 100644
--- a/buildscripts/tests/test_evergreen_burn_in_tests.py
+++ b/buildscripts/tests/test_evergreen_burn_in_tests.py
@@ -263,7 +263,8 @@ class TestGetTaskRuntimeHistory(unittest.TestCase):
start_date = end_date - timedelta(days=analysis_duration)
mock_gen_config = MagicMock(project="project1", build_variant="variant1")
- executor = under_test.GenerateBurnInExecutor(mock_gen_config, MagicMock(), mock_evg_api)
+ executor = under_test.GenerateBurnInExecutor(mock_gen_config, MagicMock(), mock_evg_api,
+ history_end_date=end_date)
result = executor.get_task_runtime_history("task1")
self.assertEqual(result, [("dir/test2.js", 10.1)])