def test_timeout_info_not_included_if_use_default_timeouts_set(self): mock_gen_options = build_mock_gen_options(use_default_timeouts=True) params = build_mock_gen_params() suites = build_mock_suite(1) resmoke_service = under_test.ResmokeGenTaskService(mock_gen_options) tasks = resmoke_service.generate_tasks(suites, params) self.assertEqual(2, len(tasks)) for task in tasks: for cmd in task.shrub_task.commands: cmd_dict = cmd.as_dict() self.assertNotEqual("timeout.update", cmd_dict.get("command"))
def test_suites_without_enough_info_should_not_include_timeouts(self): mock_gen_options = build_mock_gen_options() params = build_mock_gen_params() suites = build_mock_suite(1, include_runtimes=False) resmoke_service = under_test.ResmokeGenTaskService(mock_gen_options) tasks = resmoke_service.generate_tasks(suites, params) self.assertEqual(2, len(tasks)) for task in tasks: for cmd in task.shrub_task.commands: cmd_dict = cmd.as_dict() self.assertNotEqual("timeout.update", cmd_dict.get("command"))
def test_evg_config_has_timeouts_for_repeated_suites(self): n_sub_suites = 3 mock_gen_options = build_mock_gen_options() params = build_mock_gen_params(repeat_suites=5) suites = build_mock_suite(n_sub_suites) resmoke_service = under_test.ResmokeGenTaskService(mock_gen_options) tasks = resmoke_service.generate_tasks(suites, params) self.assertEqual(n_sub_suites + 1, len(tasks)) for task in tasks: if "misc" in task.name: # Misc tasks should use default timeouts. continue self.assertGreaterEqual(len(task.commands), 1) timeout_cmd = task.commands[0] self.assertEqual("timeout.update", timeout_cmd.command)
def test_suites_without_enough_info_should_inherit_bv_timeouts_if_specified( self): mock_gen_options = build_mock_gen_options(timeout_secs=300, exec_timeout_secs=150) params = build_mock_gen_params() suites = build_mock_suite(1, include_runtimes=False) resmoke_service = under_test.ResmokeGenTaskService(mock_gen_options) tasks = resmoke_service.generate_tasks(suites, params) self.assertEqual(2, len(tasks)) for resmoke_task in tasks: task = resmoke_task.shrub_task self.assertGreaterEqual(len(task.commands), 1) timeout_cmd = task.commands[0] self.assertEqual("timeout.update", timeout_cmd.command) self.assertEqual(300, timeout_cmd.params["timeout_secs"]) self.assertEqual(150, timeout_cmd.params["exec_timeout_secs"])
def test_evg_config_does_not_overwrite_repeat_resmoke_arg_with_repeatSuites_default( self): mock_gen_options = build_mock_gen_options() params = build_mock_gen_params(resmoke_args="resmoke_args --repeat=5") suites = build_mock_suite(1, include_runtimes=False) resmoke_service = under_test.ResmokeGenTaskService(mock_gen_options) tasks = resmoke_service.generate_tasks(suites, params) for task in tasks: found_resmoke_cmd = False for cmd in task.shrub_task.commands: cmd_dict = cmd.as_dict() if cmd_dict.get("func") == "run generated tests": found_resmoke_cmd = True args = cmd_dict.get("vars", {}).get("resmoke_args") self.assertIn("--repeat=5", args) self.assertNotIn("--repeatSuites=1", args) self.assertTrue(found_resmoke_cmd)