kiwi-el8/test/unit/boot_image_test.py
Marcus Schäfer d0fa83681f
Added support for using dracut initrd
As of today only the kiwi initrd could be used with an image
build. This commit adds a new initrd_system attribute and
allows to select between kiwi and dracut as initrd system.
Please note the dracut initrd does not support all features
of the kiwi initrd. This fixes #25
2016-02-29 20:52:25 +01:00

45 lines
1.5 KiB
Python

from nose.tools import *
from mock import patch
import mock
from . import nose_helper
from kiwi.exceptions import *
from kiwi.boot.image import BootImage
class TestBootImage(object):
def setup(self):
self.xml_state = mock.Mock()
self.xml_state.build_type.get_initrd_system = mock.Mock()
@raises(KiwiBootImageSetupError)
def test_boot_image_not_implemented(self):
self.xml_state.build_type.get_initrd_system.return_value = 'foo'
BootImage(self.xml_state, 'target_dir')
@patch('kiwi.boot.image.BootImageKiwi')
def test_boot_image_default_system(self, mock_kiwi):
self.xml_state.build_type.get_initrd_system.return_value = None
BootImage(self.xml_state, 'target_dir')
mock_kiwi.assert_called_once_with(
self.xml_state, 'target_dir', None
)
@patch('kiwi.boot.image.BootImageKiwi')
def test_boot_image_task_kiwi(self, mock_kiwi):
self.xml_state.build_type.get_initrd_system.return_value = 'kiwi'
BootImage(self.xml_state, 'target_dir')
mock_kiwi.assert_called_once_with(
self.xml_state, 'target_dir', None
)
@patch('kiwi.boot.image.BootImageDracut')
def test_boot_image_task_dracut(self, mock_dracut):
self.xml_state.build_type.get_initrd_system.return_value = 'dracut'
BootImage(self.xml_state, 'target_dir')
mock_dracut.assert_called_once_with(
self.xml_state, 'target_dir', None
)