Beispiel #1
0
    def test_execute_subjob_passes_correct_build_executor_index_to_execute_command_in_project(
            self):
        Configuration['artifact_directory'] = expanduser('~')
        executor = SubjobExecutor(1)
        executor._project_type = Mock()
        executor._project_type.execute_command_in_project = Mock(
            return_value=(1, 2))
        self.patch('app.slave.subjob_executor.fs_util')
        self.patch('app.slave.subjob_executor.shutil')
        output_file_mock = self.patch('app.slave.subjob_executor.open',
                                      new=mock_open(read_data=''),
                                      create=True).return_value
        os = self.patch('app.slave.subjob_executor.os')
        os.path = Mock()
        os.path.join = Mock(return_value='path')
        atomic_commands = ['command']
        executor.id = 2
        expected_env_vars = {
            'ARTIFACT_DIR': join(expanduser('~'), '1', 'artifact_2_0'),
            'ATOM_ID': 0,
            'EXECUTOR_INDEX': 2,
            'MACHINE_EXECUTOR_INDEX': 2,
            'BUILD_EXECUTOR_INDEX': 8
        }

        executor.execute_subjob(build_id=1,
                                subjob_id=2,
                                atomic_commands=atomic_commands,
                                base_executor_index=6)

        executor._project_type.execute_command_in_project.assert_called_with(
            'command', expected_env_vars, output_file=output_file_mock)
    def test_execute_subjob_passes_correct_build_executor_index_to_execute_command_in_project(self):
        Configuration['artifact_directory'] = expanduser('~')
        executor = SubjobExecutor(1)
        executor._project_type = Mock()
        executor._project_type.execute_command_in_project = Mock(return_value=(1, 2))
        self.patch('app.slave.subjob_executor.fs_util')
        self.patch('app.slave.subjob_executor.shutil')
        output_file_mock = self.patch('app.slave.subjob_executor.open', new=mock_open(read_data=''), create=True).return_value
        os = self.patch('app.slave.subjob_executor.os')
        os.path = Mock()
        os.path.join = Mock(return_value='path')
        atomic_commands = ['command']
        executor.id = 2
        expected_env_vars = {
            'ARTIFACT_DIR': join(expanduser('~'), '1', 'artifact_2_0'),
            'ATOM_ID': 0,
            'EXECUTOR_INDEX': 2,
            'MACHINE_EXECUTOR_INDEX': 2,
            'BUILD_EXECUTOR_INDEX': 8
        }

        executor.execute_subjob(build_id=1, subjob_id=2, atomic_commands=atomic_commands,
                                base_executor_index=6)

        executor._project_type.execute_command_in_project.assert_called_with('command', expected_env_vars,
                                                                             output_file=output_file_mock)
    def test_execute_subjob_passes_correct_build_executor_index_to_execute_command_in_project(
            self):
        executor = SubjobExecutor(1)
        executor._project_type = Mock()
        executor._project_type.execute_command_in_project = Mock(
            return_value=(1, 2))
        self.patch('app.slave.subjob_executor.fs_util')
        self.patch('app.slave.subjob_executor.shutil')
        os = self.patch('app.slave.subjob_executor.os')
        os.path = Mock()
        os.path.join = Mock(return_value='path')
        atomic_commands = ['command']
        executor.id = 2
        expected_env_vars = {
            'ARTIFACT_DIR': 'path',
            'ATOM_ID': 0,
            'EXECUTOR_INDEX': 2,
            'MACHINE_EXECUTOR_INDEX': 2,
            'BUILD_EXECUTOR_INDEX': 8
        }

        executor.execute_subjob(build_id=1,
                                subjob_id=2,
                                subjob_artifact_dir='dir',
                                atomic_commands=atomic_commands,
                                base_executor_index=6)

        executor._project_type.execute_command_in_project.assert_called_with(
            'command', expected_env_vars)
    def test_execute_subjob_passes_correct_build_executor_index_to_execute_command_in_project(self):
        executor = SubjobExecutor(1)
        executor._project_type = Mock()
        executor._project_type.execute_command_in_project = Mock(return_value=(1, 2))
        self.patch('app.slave.subjob_executor.fs_util')
        self.patch('app.slave.subjob_executor.shutil')
        os = self.patch('app.slave.subjob_executor.os')
        os.path = Mock()
        os.path.join = Mock(return_value='path')
        atomic_commands = ['command']
        executor.id = 2
        expected_env_vars = {
            'ARTIFACT_DIR': 'path',
            'ATOM_ID': 0,
            'EXECUTOR_INDEX': 2,
            'MACHINE_EXECUTOR_INDEX': 2,
            'BUILD_EXECUTOR_INDEX': 8
        }

        executor.execute_subjob(build_id=1, subjob_id=2, subjob_artifact_dir='dir', atomic_commands=atomic_commands,
                                base_executor_index=6)

        executor._project_type.execute_command_in_project.assert_called_with('command', expected_env_vars)