def test_post_init_grub2_boot_directory(self, mock_which, mock_machine):
     xml_state = mock.MagicMock()
     xml_state.build_type.get_firmware = mock.Mock(return_value=None)
     mock_machine.return_value = 'i686'
     mock_which.return_value = None
     bootloader = BootLoaderConfigGrub2(xml_state, 'root_dir')
     assert bootloader.boot_directory_name == 'grub'
 def test_post_init_ix86_platform(self, mock_machine):
     xml_state = mock.MagicMock()
     xml_state.get_initrd_system = mock.Mock(return_value='dracut')
     xml_state.build_type.get_firmware = mock.Mock(return_value=None)
     mock_machine.return_value = 'i686'
     bootloader = BootLoaderConfigGrub2(xml_state, 'root_dir')
     assert bootloader.arch == 'ix86'
Exemplo n.º 3
0
 def test_post_init_arm64_platform(self, mock_machine):
     xml_state = mock.MagicMock()
     xml_state.build_type.get_firmware = mock.Mock(
         return_value=None
     )
     mock_machine.return_value = 'arm64'
     bootloader = BootLoaderConfigGrub2(xml_state, 'root_dir')
     assert bootloader.arch == mock_machine.return_value
Exemplo n.º 4
0
 def __new__(self, name, xml_state, root_dir, custom_args=None):
     if name == 'grub2':
         return BootLoaderConfigGrub2(xml_state, root_dir, custom_args)
     elif name == 'grub2_s390x_emu':
         return BootLoaderConfigZipl(xml_state, root_dir, custom_args)
     elif name == 'isolinux':
         return BootLoaderConfigIsoLinux(xml_state, root_dir, custom_args)
     else:
         raise KiwiBootLoaderConfigSetupError(
             'Support for %s bootloader config not implemented' % name)
    def setup(self, mock_machine, mock_theme, mock_firmware):
        self.context_manager_mock = mock.Mock()
        self.file_mock = mock.Mock()
        self.enter_mock = mock.Mock()
        self.exit_mock = mock.Mock()
        self.enter_mock.return_value = self.file_mock
        setattr(self.context_manager_mock, '__enter__', self.enter_mock)
        setattr(self.context_manager_mock, '__exit__', self.exit_mock)
        self.find_grub = {}
        self.os_exists = {
            'root_dir/boot/grub2/fonts/unicode.pf2': True,
            'root_dir/boot/x86_64/loader/grub2/fonts/unicode.pf2': True,
            'root_dir/boot/grub2/themes/some-theme/background.png': True,
            'root_dir/usr/share/grub2': True,
            'root_dir/usr/share/grub': False,
            'root_dir/boot/grub2/themes': False,
            'root_dir/boot/grub/themes': False,
            'root_dir/boot/grub/fonts/unicode.pf2': False,
            'root_dir/usr/lib/grub2': True,
            'root_dir/usr/lib/grub': False,
            'root_dir/boot/grub2/x86_64-efi': False,
            'root_dir/boot/grub2/i386-pc': False,
            'root_dir/boot/grub2/x86_64-xen': False,
            'root_dir/usr/lib64/efi/shim.efi': True,
            'root_dir/usr/lib64/efi/grub.efi': True,
            'root_dir/usr/lib64/efi/does-not-exist': False,
            'root_dir/boot/efi/': True
        }
        self.glob_iglob = [['root_dir/usr/lib64/efi/shim.efi'],
                           ['root_dir/usr/lib64/efi/grub.efi']]
        mock_machine.return_value = 'x86_64'
        mock_theme.return_value = None
        kiwi.bootloader.config.grub2.Path = mock.Mock()
        kiwi.bootloader.config.base.Path = mock.Mock()

        self.firmware = mock.Mock()
        self.firmware.ec2_mode = mock.Mock(return_value=None)
        self.firmware.efi_mode = mock.Mock(return_value=None)
        mock_firmware.return_value = self.firmware

        self.mbrid = mock.Mock()
        self.mbrid.get_id = mock.Mock(return_value='0xffffffff')

        self.grub2 = mock.Mock()
        kiwi.bootloader.config.grub2.BootLoaderTemplateGrub2 = mock.Mock(
            return_value=self.grub2)

        self.state = XMLState(
            XMLDescription('../data/example_config.xml').load())
        self.state.is_xen_server = mock.Mock(return_value=False)
        self.state.is_xen_guest = mock.Mock(return_value=False)
        self.bootloader = BootLoaderConfigGrub2(self.state, 'root_dir', None, {
            'grub_directory_name': 'grub2',
            'boot_is_crypto': True
        })
Exemplo n.º 6
0
    def setup(self, mock_machine, mock_domain, mock_theme, mock_firmware):
        self.os_exists = {
            'root_dir/boot/unicode.pf2': True,
            'root_dir/usr/share/grub2': True,
            'root_dir/usr/share/grub': False,
            'root_dir/boot/grub2/themes': False,
            'root_dir/boot/grub/themes': False,
            'root_dir/boot/grub/unicode.pf2': False,
            'root_dir/usr/lib/grub2': True,
            'root_dir/usr/lib/grub': False,
            'root_dir/boot/grub2/x86_64-efi': False,
            'root_dir/boot/grub2/i386-pc': False,
            'root_dir/boot/grub2/x86_64-xen': False,
            'root_dir/usr/lib64/efi/shim.efi': True,
            'root_dir/usr/lib64/efi/grub.efi': True
        }
        mock_machine.return_value = 'x86_64'
        mock_theme.return_value = None
        mock_domain.return_value = None
        kiwi.bootloader.config.grub2.Path = mock.Mock()
        kiwi.bootloader.config.base.Path = mock.Mock()

        self.firmware = mock.Mock()
        self.firmware.ec2_mode = mock.Mock(
            return_value=None
        )
        self.firmware.efi_mode = mock.Mock(
            return_value=None
        )
        mock_firmware.return_value = self.firmware

        self.mbrid = mock.Mock()
        self.mbrid.get_id = mock.Mock(
            return_value='0xffffffff'
        )

        self.grub2 = mock.Mock()
        kiwi.bootloader.config.grub2.BootLoaderTemplateGrub2 = mock.Mock(
            return_value=self.grub2
        )

        self.state = XMLState(
            XMLDescription('../data/example_config.xml').load()
        )
        self.bootloader = BootLoaderConfigGrub2(
            self.state, 'root_dir'
        )
Exemplo n.º 7
0
 def test_post_init_invalid_platform(self, mock_machine):
     mock_machine.return_value = 'unsupported-arch'
     BootLoaderConfigGrub2(mock.Mock(), 'root_dir')
Exemplo n.º 8
0
 def test_post_init_invalid_platform(self, mock_machine):
     mock_machine.return_value = 'unsupported-arch'
     with raises(KiwiBootLoaderGrubPlatformError):
         BootLoaderConfigGrub2(Mock(), 'root_dir')