示例#1
0
 def test_create_unknown_archive_type(self):
     xml_state = mock.Mock()
     xml_state.get_build_type_name = mock.Mock(return_value='bogus')
     xml_state.get_image_version = mock.Mock(return_value='1.2.3')
     xml_state.xml_data.get_name = mock.Mock(return_value='myimage')
     archive = ArchiveBuilder(xml_state, 'target_dir', 'root_dir')
     archive.create()
示例#2
0
 def setup(self, mock_machine):
     mock_machine.return_value = 'x86_64'
     self.xml_state = mock.Mock()
     self.xml_state.get_image_version = mock.Mock(return_value='1.2.3')
     self.xml_state.get_build_type_name = mock.Mock(return_value='tbz')
     self.xml_state.xml_data.get_name = mock.Mock(return_value='myimage')
     self.setup = mock.Mock()
     kiwi.builder.archive.SystemSetup = mock.Mock(return_value=self.setup)
     self.archive = ArchiveBuilder(self.xml_state, 'target_dir', 'root_dir')
示例#3
0
 def setup(self):
     Defaults.set_platform_name('x86_64')
     self.xml_state = mock.Mock()
     self.xml_state.get_image_version = mock.Mock(return_value='1.2.3')
     self.xml_state.get_build_type_name = mock.Mock(return_value='tbz')
     self.xml_state.xml_data.get_name = mock.Mock(return_value='myimage')
     self.setup = mock.Mock()
     kiwi.builder.archive.SystemSetup = mock.Mock(return_value=self.setup)
     self.archive = ArchiveBuilder(self.xml_state, 'target_dir', 'root_dir')
示例#4
0
 def test_create_unknown_archive_type(self):
     xml_state = mock.Mock()
     xml_state.get_build_type_name = mock.Mock(
         return_value='bogus'
     )
     xml_state.get_image_version = mock.Mock(
         return_value='1.2.3'
     )
     xml_state.xml_data.get_name = mock.Mock(
         return_value='myimage'
     )
     archive = ArchiveBuilder(
         xml_state, 'target_dir', 'root_dir'
     )
     archive.create()
示例#5
0
class TestArchiveBuilder:
    @patch('platform.machine')
    def setup(self, mock_machine):
        mock_machine.return_value = 'x86_64'
        self.xml_state = mock.Mock()
        self.xml_state.get_image_version = mock.Mock(return_value='1.2.3')
        self.xml_state.get_build_type_name = mock.Mock(return_value='tbz')
        self.xml_state.xml_data.get_name = mock.Mock(return_value='myimage')
        self.setup = mock.Mock()
        kiwi.builder.archive.SystemSetup = mock.Mock(return_value=self.setup)
        self.archive = ArchiveBuilder(self.xml_state, 'target_dir', 'root_dir')

    def test_create_unknown_archive_type(self):
        xml_state = mock.Mock()
        xml_state.get_build_type_name = mock.Mock(return_value='bogus')
        xml_state.get_image_version = mock.Mock(return_value='1.2.3')
        xml_state.xml_data.get_name = mock.Mock(return_value='myimage')
        archive = ArchiveBuilder(xml_state, 'target_dir', 'root_dir')
        with raises(KiwiArchiveSetupError):
            archive.create()

    @patch('kiwi.builder.archive.ArchiveTar')
    @patch('kiwi.builder.archive.Checksum')
    @patch('platform.machine')
    def test_create(self, mock_machine, mock_checksum, mock_tar):
        mock_machine.return_value = 'x86_64'
        checksum = mock.Mock()
        mock_checksum.return_value = checksum
        archive = mock.Mock()
        mock_tar.return_value = archive
        self.archive.create()
        mock_tar.assert_called_once_with('target_dir/myimage.x86_64-1.2.3.tar')
        archive.create_xz_compressed.assert_called_once_with(
            'root_dir',
            exclude=[
                'image', '.profile', '.kconfig', '.buildenv', 'var/cache/kiwi'
            ],
            xz_options=None)
        mock_checksum.assert_called_once_with(
            'target_dir/myimage.x86_64-1.2.3.tar.xz')
        checksum.md5.assert_called_once_with(
            'target_dir/myimage.x86_64-1.2.3.md5')
        self.setup.export_package_verification.assert_called_once_with(
            'target_dir')
        self.setup.export_package_list.assert_called_once_with('target_dir')

    def teardown(self):
        sys.argv = argv_kiwi_tests
示例#6
0
 def __new__(self, xml_state, target_dir, root_dir, custom_args=None):
     requested_image_type = xml_state.get_build_type_name()
     if requested_image_type in Defaults.get_filesystem_image_types():
         return FileSystemBuilder(
             xml_state, target_dir, root_dir
         )
     elif requested_image_type in Defaults.get_disk_image_types():
         return DiskBuilder(
             xml_state, target_dir, root_dir, custom_args
         )
     elif requested_image_type in Defaults.get_live_image_types():
         return LiveImageBuilder(
             xml_state, target_dir, root_dir, custom_args
         )
     elif requested_image_type in Defaults.get_kis_image_types():
         return KisBuilder(
             xml_state, target_dir, root_dir, custom_args
         )
     elif requested_image_type in Defaults.get_archive_image_types():
         return ArchiveBuilder(
             xml_state, target_dir, root_dir, custom_args
         )
     elif requested_image_type in Defaults.get_container_image_types():
         return ContainerBuilder(
             xml_state, target_dir, root_dir, custom_args
         )
     else:
         raise KiwiRequestedTypeError(
             'requested image type %s not supported' % requested_image_type
         )
示例#7
0
class TestArchiveBuilder:
    def setup(self):
        Defaults.set_platform_name('x86_64')
        self.xml_state = mock.Mock()
        self.xml_state.profiles = None
        self.xml_state.get_image_version = mock.Mock(return_value='1.2.3')
        self.xml_state.get_build_type_name = mock.Mock(return_value='tbz')
        self.xml_state.xml_data.get_name = mock.Mock(return_value='myimage')
        self.setup = mock.Mock()
        kiwi.builder.archive.SystemSetup = mock.Mock(return_value=self.setup)
        self.archive = ArchiveBuilder(self.xml_state, 'target_dir', 'root_dir')

    def setup_method(self, cls):
        self.setup()

    def test_create_unknown_archive_type(self):
        xml_state = mock.Mock()
        xml_state.get_build_type_name = mock.Mock(return_value='bogus')
        xml_state.get_image_version = mock.Mock(return_value='1.2.3')
        xml_state.xml_data.get_name = mock.Mock(return_value='myimage')
        archive = ArchiveBuilder(xml_state, 'target_dir', 'root_dir')
        with raises(KiwiArchiveSetupError):
            archive.create()

    @patch('kiwi.builder.archive.ArchiveTar')
    def test_create(self, mock_tar):
        Defaults.set_platform_name('x86_64')
        archive = mock.Mock()
        mock_tar.return_value = archive
        self.archive.create()
        mock_tar.assert_called_once_with('target_dir/myimage.x86_64-1.2.3.tar')
        archive.create_xz_compressed.assert_called_once_with(
            'root_dir',
            exclude=[
                'image', '.profile', '.kconfig', 'run/*', 'tmp/*', '.buildenv',
                'var/cache/kiwi'
            ],
            xz_options=None)
        self.setup.export_package_verification.assert_called_once_with(
            'target_dir')
        self.setup.export_package_list.assert_called_once_with('target_dir')

    def teardown(self):
        sys.argv = argv_kiwi_tests

    def teardown_method(self, cls):
        self.teardown()
示例#8
0
class TestArchiveBuilder(object):
    @patch('platform.machine')
    def setup(self, mock_machine):
        mock_machine.return_value = 'x86_64'
        self.xml_state = mock.Mock()
        self.xml_state.get_image_version = mock.Mock(return_value='1.2.3')
        self.xml_state.get_build_type_name = mock.Mock(return_value='tbz')
        self.xml_state.xml_data.get_name = mock.Mock(return_value='myimage')
        self.setup = mock.Mock()
        kiwi.builder.archive.SystemSetup = mock.Mock(return_value=self.setup)
        self.archive = ArchiveBuilder(self.xml_state, 'target_dir', 'root_dir')

    @raises(KiwiArchiveSetupError)
    def test_create_unknown_archive_type(self):
        xml_state = mock.Mock()
        xml_state.get_build_type_name = mock.Mock(return_value='bogus')
        xml_state.get_image_version = mock.Mock(return_value='1.2.3')
        xml_state.xml_data.get_name = mock.Mock(return_value='myimage')
        archive = ArchiveBuilder(xml_state, 'target_dir', 'root_dir')
        archive.create()

    @patch('kiwi.builder.archive.ArchiveTar')
    @patch('kiwi.builder.archive.Checksum')
    @patch('platform.machine')
    def test_create(self, mock_machine, mock_checksum, mock_tar):
        mock_machine.return_value = 'x86_64'
        checksum = mock.Mock()
        mock_checksum.return_value = checksum
        archive = mock.Mock()
        mock_tar.return_value = archive
        self.archive.create()
        mock_tar.assert_called_once_with('target_dir/myimage.x86_64-1.2.3.tar')
        archive.create_xz_compressed.assert_called_once_with('root_dir')
        mock_checksum.assert_called_once_with(
            'target_dir/myimage.x86_64-1.2.3.tar.xz')
        checksum.md5.assert_called_once_with(
            'target_dir/myimage.x86_64-1.2.3.md5')
        self.setup.export_rpm_package_verification.assert_called_once_with(
            'target_dir')
        self.setup.export_rpm_package_list.assert_called_once_with(
            'target_dir')
示例#9
0
 def setup(self, mock_machine):
     mock_machine.return_value = 'x86_64'
     self.xml_state = mock.Mock()
     self.xml_state.get_image_version = mock.Mock(
         return_value='1.2.3'
     )
     self.xml_state.get_build_type_name = mock.Mock(
         return_value='tbz'
     )
     self.xml_state.xml_data.get_name = mock.Mock(
         return_value='myimage'
     )
     self.setup = mock.Mock()
     kiwi.builder.archive.SystemSetup = mock.Mock(
         return_value=self.setup
     )
     self.archive = ArchiveBuilder(
         self.xml_state, 'target_dir', 'root_dir'
     )
示例#10
0
class TestArchiveBuilder(object):
    @patch('platform.machine')
    def setup(self, mock_machine):
        mock_machine.return_value = 'x86_64'
        self.xml_state = mock.Mock()
        self.xml_state.get_image_version = mock.Mock(
            return_value='1.2.3'
        )
        self.xml_state.get_build_type_name = mock.Mock(
            return_value='tbz'
        )
        self.xml_state.xml_data.get_name = mock.Mock(
            return_value='myimage'
        )
        self.setup = mock.Mock()
        kiwi.builder.archive.SystemSetup = mock.Mock(
            return_value=self.setup
        )
        self.archive = ArchiveBuilder(
            self.xml_state, 'target_dir', 'root_dir'
        )

    @raises(KiwiArchiveSetupError)
    def test_create_unknown_archive_type(self):
        xml_state = mock.Mock()
        xml_state.get_build_type_name = mock.Mock(
            return_value='bogus'
        )
        xml_state.get_image_version = mock.Mock(
            return_value='1.2.3'
        )
        xml_state.xml_data.get_name = mock.Mock(
            return_value='myimage'
        )
        archive = ArchiveBuilder(
            xml_state, 'target_dir', 'root_dir'
        )
        archive.create()

    @patch('kiwi.builder.archive.ArchiveTar')
    @patch('kiwi.builder.archive.Checksum')
    @patch('platform.machine')
    def test_create(self, mock_machine, mock_checksum, mock_tar):
        mock_machine.return_value = 'x86_64'
        checksum = mock.Mock()
        mock_checksum.return_value = checksum
        archive = mock.Mock()
        mock_tar.return_value = archive
        self.archive.create()
        mock_tar.assert_called_once_with(
            'target_dir/myimage.x86_64-1.2.3.tar'
        )
        archive.create_xz_compressed.assert_called_once_with(
            'root_dir', exclude=[
                'image', '.profile', '.kconfig', '.buildenv', 'var/cache/kiwi'
            ], xz_options=None
        )
        mock_checksum.assert_called_once_with(
            'target_dir/myimage.x86_64-1.2.3.tar.xz'
        )
        checksum.md5.assert_called_once_with(
            'target_dir/myimage.x86_64-1.2.3.md5'
        )
        self.setup.export_package_verification.assert_called_once_with(
            'target_dir'
        )
        self.setup.export_package_list.assert_called_once_with(
            'target_dir'
        )