当前位置: 首页>>代码示例>>Python>>正文


Python Build.prepare方法代码示例

本文整理汇总了Python中app.master.build.Build.prepare方法的典型用法代码示例。如果您正苦于以下问题:Python Build.prepare方法的具体用法?Python Build.prepare怎么用?Python Build.prepare使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在app.master.build.Build的用法示例。


在下文中一共展示了Build.prepare方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_build_doesnt_use_more_than_max_executors_per_slave

# 需要导入模块: from app.master.build import Build [as 别名]
# 或者: from app.master.build.Build import prepare [as 别名]
    def test_build_doesnt_use_more_than_max_executors_per_slave(self):
        subjobs = self._create_subjobs()
        mock_project_type = self._create_mock_project_type()
        fake_setup_command = 'mock command'
        mock_slaves = [self._create_mock_slave(num_executors=5) for _ in range(3)]
        max_executors_per_slave = 2
        expected_total_num_executors_used = 6  # We expect the build to use 2 executors on each of the 3 slaves.

        build = Build(BuildRequest({'setup': fake_setup_command}))
        build._project_type = mock_project_type
        build.execute_next_subjob_or_teardown_slave = MagicMock()

        build.prepare(subjobs, self._create_job_config(max_executors_per_slave=max_executors_per_slave))
        [build.allocate_slave(mock_slave) for mock_slave in mock_slaves]

        expected_current_num_executors_used = 0
        for i in range(len(mock_slaves)):
            build.begin_subjob_executions_on_slave(mock_slaves[i])
            expected_current_num_executors_used += max_executors_per_slave
            self.assertEqual(
                build.execute_next_subjob_or_teardown_slave.call_count, expected_current_num_executors_used,
                'After allocating {} slaves, build with max_executors_per_slave set to {} should only be using {} '
                'executors.'.format(i + 1, max_executors_per_slave, expected_current_num_executors_used))

        self.assertEqual(
            build.execute_next_subjob_or_teardown_slave.call_count, expected_total_num_executors_used,
            'Build should start executing as many subjobs per slave as its max_executors_per_slave setting.')
开发者ID:dncarley,项目名称:ClusterRunner,代码行数:29,代码来源:test_build.py

示例2: test_build_status_returns_finished_after_all_subjobs_complete_and_slaves_finished

# 需要导入模块: from app.master.build import Build [as 别名]
# 或者: from app.master.build.Build import prepare [as 别名]
    def test_build_status_returns_finished_after_all_subjobs_complete_and_slaves_finished(self):
        subjobs = self._create_subjobs(count=3)
        mock_project_type = self._create_mock_project_type()
        mock_slave = self._create_mock_slave(num_executors=3)
        build = Build(BuildRequest({}))

        build.prepare(subjobs, mock_project_type, self._create_job_config(self._FAKE_MAX_EXECUTORS))
        build.allocate_slave(mock_slave)  # all three subjobs are now "in progress"

        # Mock out call to create build artifacts after subjobs complete
        build._create_build_artifact = MagicMock()

        for subjob in subjobs:
            build.mark_subjob_complete(subjob.subjob_id())

        # Note: this was never a unit test! We have to wait for a thread to complete post build
        # actions here. TODO: Fix this
        poll.wait_for(lambda: build._postbuild_tasks_are_finished, 5)

        # Verify build artifacts was called after subjobs completed
        build._create_build_artifact.assert_called_once_with()

        build.finish()
        status = build._status()

        self.assertTrue(build._subjobs_are_finished)
        self.assertTrue(build._postbuild_tasks_are_finished)
        self.assertTrue(build._teardowns_finished)

        self.assertEqual(status, BuildStatus.FINISHED)
开发者ID:mdengler,项目名称:ClusterRunner,代码行数:32,代码来源:test_build.py

示例3: test_need_more_slaves_returns_true_if_max_processes_is_not_reached

# 需要导入模块: from app.master.build import Build [as 别名]
# 或者: from app.master.build.Build import prepare [as 别名]
    def test_need_more_slaves_returns_true_if_max_processes_is_not_reached(self):
        subjobs = self._create_subjobs(count=8)
        mock_project_type = self._create_mock_project_type()
        mock_slave = self._create_mock_slave(num_executors=5)
        build = Build(BuildRequest({}))

        build.prepare(subjobs, mock_project_type, self._create_job_config(max_executors=8))
        build.allocate_slave(mock_slave)
        self.assertTrue(build.needs_more_slaves(), "if max_processes is not reached, we should need more slaves")
开发者ID:mdengler,项目名称:ClusterRunner,代码行数:11,代码来源:test_build.py

示例4: test_build_cannot_be_prepared_more_than_once

# 需要导入模块: from app.master.build import Build [as 别名]
# 或者: from app.master.build.Build import prepare [as 别名]
    def test_build_cannot_be_prepared_more_than_once(self):
        build = Build(BuildRequest({}))
        subjobs = self._create_subjobs(count=3)
        mock_project_type = self._create_mock_project_type()

        build.prepare(subjobs, mock_project_type, self._create_job_config(max_executors=self._FAKE_MAX_EXECUTORS))

        with self.assertRaises(Exception):
            build.prepare(subjobs, mock_project_type, self._create_job_config(max_executors=self._FAKE_MAX_EXECUTORS))
开发者ID:mdengler,项目名称:ClusterRunner,代码行数:11,代码来源:test_build.py

示例5: test_build_status_returns_queued_after_build_preparation

# 需要导入模块: from app.master.build import Build [as 别名]
# 或者: from app.master.build.Build import prepare [as 别名]
    def test_build_status_returns_queued_after_build_preparation(self):
        subjobs = self._create_subjobs()
        mock_project_type = self._create_mock_project_type()
        build = Build(BuildRequest({}))

        build.prepare(subjobs, mock_project_type, self._create_job_config(self._FAKE_MAX_EXECUTORS))
        status = build._status()

        self.assertEqual(status, BuildStatus.QUEUED)
开发者ID:mdengler,项目名称:ClusterRunner,代码行数:11,代码来源:test_build.py

示例6: test_need_more_slaves_returns_false_if_max_processes_is_reached

# 需要导入模块: from app.master.build import Build [as 别名]
# 或者: from app.master.build.Build import prepare [as 别名]
    def test_need_more_slaves_returns_false_if_max_processes_is_reached(self):
        subjobs = self._create_subjobs(count=5)
        mock_project_type = self._create_mock_project_type()
        mock_slave = self._create_mock_slave(num_executors=1)
        build = Build(BuildRequest({}))
        build._project_type = mock_project_type

        build.prepare(subjobs, self._create_job_config(max_executors=1))
        build.allocate_slave(mock_slave)
        self.assertFalse(build.needs_more_slaves(), "if max processes is reached, we shouldn't need more slaves")
开发者ID:dncarley,项目名称:ClusterRunner,代码行数:12,代码来源:test_build.py

示例7: test_allocate_slave_calls_slave_setup

# 需要导入模块: from app.master.build import Build [as 别名]
# 或者: from app.master.build.Build import prepare [as 别名]
    def test_allocate_slave_calls_slave_setup(self):
        subjobs = self._create_subjobs()
        mock_project_type = self._create_mock_project_type()
        mock_slave = self._create_mock_slave()
        build = Build(Mock(spec_set=BuildRequest))
        build._project_type = mock_project_type

        build.prepare(subjobs, self._create_job_config())
        build.allocate_slave(mock_slave)

        mock_slave.setup.assert_called_once_with(build)
开发者ID:dncarley,项目名称:ClusterRunner,代码行数:13,代码来源:test_build.py

示例8: test_exception_is_raised_if_problem_occurs_writing_subjob

# 需要导入模块: from app.master.build import Build [as 别名]
# 或者: from app.master.build.Build import prepare [as 别名]
    def test_exception_is_raised_if_problem_occurs_writing_subjob(self):
        Configuration['results_directory'] = abspath(join('some', 'temp', 'directory'))
        build = Build(BuildRequest({}))
        build._project_type = self._create_mock_project_type()
        subjob = self._create_subjobs(count=1, build_id=build.build_id())[0]
        build.prepare([subjob], self._create_job_config())
        self.mock_fs.write_file.side_effect = FileExistsError

        with self.assertRaises(Exception):
            payload = {'filename': 'turtles.txt', 'body': 'Heroes in a half shell.'}
            build.complete_subjob(subjob.subjob_id(), payload=payload)
开发者ID:dncarley,项目名称:ClusterRunner,代码行数:13,代码来源:test_build.py

示例9: test_build_status_returns_queued_after_build_preparation

# 需要导入模块: from app.master.build import Build [as 别名]
# 或者: from app.master.build.Build import prepare [as 别名]
    def test_build_status_returns_queued_after_build_preparation(self):
        subjobs = self._create_subjobs()
        mock_project_type = self._create_mock_project_type()
        build = Build(BuildRequest({}))
        build._project_type = mock_project_type

        build.prepare(subjobs, self._create_job_config())
        status = build._status()

        self.assertEqual(status, BuildStatus.QUEUED,
                         'Build status should be QUEUED after build has been prepared.')
开发者ID:dncarley,项目名称:ClusterRunner,代码行数:13,代码来源:test_build.py

示例10: test_build_status_returns_building_after_some_subjobs_are_executing

# 需要导入模块: from app.master.build import Build [as 别名]
# 或者: from app.master.build.Build import prepare [as 别名]
    def test_build_status_returns_building_after_some_subjobs_are_executing(self):
        subjobs = self._create_subjobs(count=3)
        mock_project_type = self._create_mock_project_type()
        mock_slave = self._create_mock_slave(num_executors=2)
        build = Build(BuildRequest({}))

        build.prepare(subjobs, mock_project_type, self._create_job_config(self._FAKE_MAX_EXECUTORS))
        build.allocate_slave(mock_slave)  # two out of three subjobs are now "in progress"
        status = build._status()

        self.assertEqual(status, BuildStatus.BUILDING)
开发者ID:mdengler,项目名称:ClusterRunner,代码行数:13,代码来源:test_build.py

示例11: test_complete_subjob_writes_and_extracts_payload_to_correct_directory

# 需要导入模块: from app.master.build import Build [as 别名]
# 或者: from app.master.build.Build import prepare [as 别名]
    def test_complete_subjob_writes_and_extracts_payload_to_correct_directory(self):
        Configuration['results_directory'] = '/tmp/results'
        build = Build(BuildRequest({}))
        build._project_type = self._create_mock_project_type()
        subjob = self._create_subjobs(count=1, build_id=build.build_id())[0]
        build.prepare([subjob], self._create_job_config())

        payload = {'filename': 'turtles.txt', 'body': 'Heroes in a half shell.'}
        build.complete_subjob(subjob.subjob_id(), payload=payload)

        self.mock_fs.write_file.assert_called_once_with('Heroes in a half shell.', '/tmp/results/1/turtles.txt')
        self.mock_fs.extract_tar.assert_called_once_with('/tmp/results/1/turtles.txt', delete=True)
开发者ID:OspreyX,项目名称:ClusterRunner,代码行数:14,代码来源:test_build.py

示例12: test_allocate_slave_doesnt_use_more_than_max_executors

# 需要导入模块: from app.master.build import Build [as 别名]
# 或者: from app.master.build.Build import prepare [as 别名]
    def test_allocate_slave_doesnt_use_more_than_max_executors(self):
        subjobs = self._create_subjobs()

        mock_project_type = self._create_mock_project_type()
        fake_setup_command = 'mock command'
        mock_slave = self._create_mock_slave()

        build = Build(BuildRequest({'setup': fake_setup_command}))
        build.prepare(subjobs, mock_project_type, self._create_job_config(1))
        build.allocate_slave(mock_slave)

        self.assertEqual(build._num_allocated_executors, build._max_executors)
开发者ID:mdengler,项目名称:ClusterRunner,代码行数:14,代码来源:test_build.py

示例13: test_build_status_returns_building_after_setup_has_started

# 需要导入模块: from app.master.build import Build [as 别名]
# 或者: from app.master.build.Build import prepare [as 别名]
    def test_build_status_returns_building_after_setup_has_started(self):
        subjobs = self._create_subjobs()
        mock_project_type = self._create_mock_project_type()
        mock_slave = self._create_mock_slave()
        build = Build(BuildRequest({}))
        build._project_type = mock_project_type

        build.prepare(subjobs, self._create_job_config())
        build.allocate_slave(mock_slave)

        self.assertEqual(build._status(), BuildStatus.BUILDING,
                         'Build status should be BUILDING after setup has started on slaves.')
开发者ID:dncarley,项目名称:ClusterRunner,代码行数:14,代码来源:test_build.py

示例14: test_build_status_returns_building_after_setup_is_complete_and_subjobs_are_executing

# 需要导入模块: from app.master.build import Build [as 别名]
# 或者: from app.master.build.Build import prepare [as 别名]
    def test_build_status_returns_building_after_setup_is_complete_and_subjobs_are_executing(self):
        subjobs = self._create_subjobs(count=3)
        mock_project_type = self._create_mock_project_type()
        mock_slave = self._create_mock_slave(num_executors=2)
        build = Build(BuildRequest({}))
        build._project_type = mock_project_type

        build.prepare(subjobs, self._create_job_config())
        build.allocate_slave(mock_slave)
        build.begin_subjob_executions_on_slave(mock_slave)  # two out of three subjobs are now in progress

        self.assertEqual(build._status(), BuildStatus.BUILDING,
                         'Build status should be BUILDING after subjobs have started executing on slaves.')
开发者ID:dncarley,项目名称:ClusterRunner,代码行数:15,代码来源:test_build.py

示例15: test_allocate_slave_calls_slave_setup

# 需要导入模块: from app.master.build import Build [as 别名]
# 或者: from app.master.build.Build import prepare [as 别名]
    def test_allocate_slave_calls_slave_setup(self):
        # arrange
        subjobs = self._create_subjobs()

        mock_project_type = self._create_mock_project_type()
        fake_setup_command = 'docker pull my:leg'
        mock_slave = self._create_mock_slave()

        # act
        build = Build(BuildRequest({'setup': fake_setup_command}))
        build.prepare(subjobs, mock_project_type, self._create_job_config(self._FAKE_MAX_EXECUTORS))
        build.allocate_slave(mock_slave)

        # assert
        mock_slave.setup.assert_called_once_with(build.build_id(), project_type_params={'setup': fake_setup_command})
开发者ID:mdengler,项目名称:ClusterRunner,代码行数:17,代码来源:test_build.py


注:本文中的app.master.build.Build.prepare方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。