Esempio n. 1
0
    def test_related_tasks_returned_from_selected_tests_service(
            self, selected_tests_service_mock):
        selected_tests_service_mock.get_task_mappings.return_value = [
            {
                "source_file": "src/file1.cpp",
                "tasks": [{
                    "name": "my_task_1"
                }],
            },
            {
                "source_file": "src/file2.cpp",
                "tasks": [{
                    "name": "my_task_2"
                }],
            },
        ]
        changed_files = {"src/file1.cpp", "src/file2.js"}
        build_variant_conf = MagicMock()
        build_variant_conf.get_task.return_value = _evergreen.Task(
            {"name": "my_task_1"})

        related_tasks = under_test._find_selected_tasks(
            selected_tests_service_mock, changed_files, build_variant_conf)

        self.assertEqual(related_tasks, {"my_task_1"})
Esempio n. 2
0
    def test_returned_tasks_do_not_exist(self, selected_tests_service_mock):
        selected_tests_service_mock.get_task_mappings.return_value = [
            {
                "source_file": "src/file1.cpp",
                "tasks": [{"name": "my_task_1"}],
            },
        ]
        changed_files = {"src/file1.cpp", "src/file2.js"}
        build_variant_conf = MagicMock()
        build_variant_conf.get_task.return_value = None

        related_tasks = under_test._find_selected_tasks(selected_tests_service_mock, changed_files,
                                                        build_variant_conf)

        self.assertEqual(related_tasks, set())
Esempio n. 3
0
    def test_returned_tasks_should_be_excluded(self, selected_tests_service_mock):
        excluded_task = under_test.EXCLUDE_TASK_LIST[0]
        selected_tests_service_mock.get_task_mappings.return_value = [
            {
                "source_file": "src/file1.cpp",
                "tasks": [{"name": excluded_task}],
            },
        ]
        changed_files = {"src/file1.cpp", "src/file2.js"}
        build_variant_conf = MagicMock()
        build_variant_conf.get_task.return_value = _evergreen.Task({"name": excluded_task})

        related_tasks = under_test._find_selected_tasks(selected_tests_service_mock, changed_files,
                                                        build_variant_conf)

        self.assertEqual(related_tasks, set())
Esempio n. 4
0
    def test_related_tasks_returned_from_selected_tests_service(self, selected_tests_service_mock):
        selected_tests_service_mock.get_task_mappings.return_value = [
            {
                "source_file": "src/file1.cpp",
                "tasks": [{"name": "my_task_1"}],
            },
            {
                "source_file": "src/file2.cpp",
                "tasks": [{"name": "my_task_2"}],
            },
        ]
        changed_files = {"src/file1.cpp", "src/file2.js"}

        related_tasks = under_test._find_selected_tasks(selected_tests_service_mock, changed_files)

        self.assertEqual(related_tasks, {"my_task_1", "my_task_2"})
Esempio n. 5
0
    def test_returned_tasks_match_excluded_pattern(self, selected_tests_service_mock):
        task_that_matches_exclude_pattern = "compile_all"
        selected_tests_service_mock.get_task_mappings.return_value = [
            {
                "source_file": "src/file1.cpp",
                "tasks": [{"name": task_that_matches_exclude_pattern}],
            },
        ]
        changed_files = {"src/file1.cpp", "src/file2.js"}
        build_variant_conf = MagicMock()
        build_variant_conf.get_task.return_value = _evergreen.Task(
            {"name": task_that_matches_exclude_pattern})

        related_tasks = under_test._find_selected_tasks(selected_tests_service_mock, changed_files,
                                                        build_variant_conf)

        self.assertEqual(related_tasks, set())