def test_fuzzer_tasks_are_generated(self): mock_params = build_mock_fuzzer_params() fuzzer_service = under_test.FuzzerGenTaskService() fuzzer_task = fuzzer_service.generate_tasks(mock_params) self.assertEqual(fuzzer_task.task_name, mock_params.task_name) self.assertEqual(len(fuzzer_task.sub_tasks), mock_params.num_tasks)
def test_sub_task_should_be_built_correct(self): mock_params = build_mock_fuzzer_params(npm_command="jstestfuzz") fuzzer_service = under_test.FuzzerGenTaskService() sub_task = fuzzer_service.build_fuzzer_sub_task(3, mock_params) self.assertEqual(sub_task.name, f"{mock_params.task_name}_3_{mock_params.variant}") self.assertEqual(len(sub_task.commands), 7)
def test_sub_task_multi_version_tasks_should_be_built_correct(self): mock_params = build_mock_fuzzer_params(multi_version="multiversion value") fuzzer_service = under_test.FuzzerGenTaskService() sub_task = fuzzer_service.build_fuzzer_sub_task(3, mock_params, "") self.assertEqual(sub_task.name, f"{mock_params.task_name}_3_{mock_params.variant}") self.assertEqual(len(sub_task.commands), 6)
def test_fuzzers_for_multiversion_are_generated(self): version_list = ["version0", "version1"] mock_params = build_mock_fuzzer_params(version_config=version_list) fuzzer_service = under_test.FuzzerGenTaskService() fuzzer_task = fuzzer_service.generate_tasks(mock_params) self.assertEqual(fuzzer_task.task_name, mock_params.task_name) self.assertEqual(len(fuzzer_task.sub_tasks), mock_params.num_tasks * len(version_list))
def test_sub_task_should_include_timeout_info(self): mock_params = build_mock_fuzzer_params() fuzzer_service = under_test.FuzzerGenTaskService() sub_task = fuzzer_service.build_fuzzer_sub_task(3, mock_params) cmd = sub_task.commands[0].as_dict() self.assertEqual(cmd["command"], "timeout.update") self.assertEqual(cmd["params"]["timeout_secs"], mock_params.timeout_secs)
def test_sub_task_should_be_built_correct_no_minimize_command(self): mock_params = build_mock_fuzzer_params(npm_command="jstestfuzz") fuzzer_service = under_test.FuzzerGenTaskService() sub_task = fuzzer_service.build_fuzzer_sub_task(3, mock_params) self.assertEqual(sub_task.name, f"{mock_params.task_name}_3_{mock_params.variant}") self.assertEqual(len(sub_task.commands), 6) self.assertNotEqual(sub_task.commands[-1].as_dict()["func"], "minimize jstestfuzz")