Allow network interface names to be filtered by the given regular expression. The expression is handled by the bash regexp operator. Interface names matching the rule will be filtered out, all others stay. It is also possible to pass the variable kiwi_oemnicfilter as kernel command line in a PXE deployment. Fixes #245
149 lines
5.5 KiB
Python
149 lines
5.5 KiB
Python
from mock import patch
|
|
|
|
import mock
|
|
import os
|
|
|
|
from kiwi.system.profile import Profile
|
|
from kiwi.xml_state import XMLState
|
|
from kiwi.xml_description import XMLDescription
|
|
|
|
|
|
class TestProfile(object):
|
|
def setup(self):
|
|
self.tmpfile = mock.Mock()
|
|
self.tmpfile.name = 'tmpfile'
|
|
description = XMLDescription('../data/example_dot_profile_config.xml')
|
|
self.profile = Profile(
|
|
XMLState(description.load())
|
|
)
|
|
|
|
@patch('kiwi.system.profile.NamedTemporaryFile')
|
|
@patch('kiwi.path.Path.which')
|
|
def test_create(self, mock_which, mock_temp):
|
|
mock_which.return_value = 'cp'
|
|
mock_temp.return_value = self.tmpfile
|
|
result = self.profile.create()
|
|
os.remove(self.tmpfile.name)
|
|
assert self.profile.dot_profile == {
|
|
'kiwi_Volume_1': 'usr_lib|size:1024|usr/lib',
|
|
'kiwi_Volume_2': 'LVRoot|freespace:500|',
|
|
'kiwi_Volume_3': 'etc_volume|freespace:30|etc',
|
|
'kiwi_Volume_4': 'bin_volume|size:all|/usr/bin',
|
|
'kiwi_Volume_5': 'usr_bin|size:all|usr/bin',
|
|
'kiwi_bootkernel': None,
|
|
'kiwi_bootloader': 'grub2',
|
|
'kiwi_bootprofile': None,
|
|
'kiwi_target_removable': None,
|
|
'kiwi_boot_timeout': None,
|
|
'kiwi_cmdline': 'splash',
|
|
'kiwi_compressed': None,
|
|
'kiwi_delete': '',
|
|
'kiwi_devicepersistency': None,
|
|
'kiwi_bootloader_console': None,
|
|
'kiwi_displayname': 'LimeJeOS-openSUSE-13.2',
|
|
'kiwi_drivers': '',
|
|
'kiwi_firmware': 'efi',
|
|
'kiwi_fsmountoptions': None,
|
|
'kiwi_hwclock': 'utc',
|
|
'kiwi_hybrid': None,
|
|
'kiwi_hybridpersistent_filesystem': None,
|
|
'kiwi_hybridpersistent': None,
|
|
'kiwi_iname': 'LimeJeOS-openSUSE-13.2',
|
|
'kiwi_installboot': None,
|
|
'kiwi_iversion': '1.13.2',
|
|
'kiwi_keytable': 'us.map.gz',
|
|
'kiwi_language': 'en_US',
|
|
'kiwi_loader_theme': 'openSUSE',
|
|
'kiwi_lvm': 'true',
|
|
'kiwi_lvmgroup': 'systemVG',
|
|
'kiwi_oemataraid_scan': None,
|
|
'kiwi_oembootwait': None,
|
|
'kiwi_oemdevicefilter': None,
|
|
'kiwi_oemnicfilter': None,
|
|
'kiwi_oemkboot': None,
|
|
'kiwi_oemmultipath_scan': None,
|
|
'kiwi_oempartition_install': None,
|
|
'kiwi_oemrebootinteractive': None,
|
|
'kiwi_oemreboot': None,
|
|
'kiwi_oemrecoveryID': None,
|
|
'kiwi_oemrecoveryInPlace': None,
|
|
'kiwi_oemrecovery': False,
|
|
'kiwi_oemrecoveryPartSize': None,
|
|
'kiwi_oemrootMB': 2048,
|
|
'kiwi_oemshutdowninteractive': None,
|
|
'kiwi_oemshutdown': None,
|
|
'kiwi_oemsilentboot': None,
|
|
'kiwi_oemsilentinstall': None,
|
|
'kiwi_oemsilentverify': None,
|
|
'kiwi_oemskipverify': None,
|
|
'kiwi_oemswapMB': None,
|
|
'kiwi_oemswap': 'true',
|
|
'kiwi_oemtitle': None,
|
|
'kiwi_oemunattended_id': None,
|
|
'kiwi_oemunattended': None,
|
|
'kiwi_oemvmcp_parmfile': None,
|
|
'kiwi_profiles': '',
|
|
'kiwi_ramonly': True,
|
|
'kiwi_initrd_system': None,
|
|
'kiwi_btrfs_root_is_snapshot': None,
|
|
'kiwi_gpt_hybrid_mbr': None,
|
|
'kiwi_showlicense': None,
|
|
'kiwi_splash_theme': 'openSUSE',
|
|
'kiwi_strip_delete': '',
|
|
'kiwi_strip_libs': '',
|
|
'kiwi_strip_tools': '',
|
|
'kiwi_target_blocksize': None,
|
|
'kiwi_timezone': 'Europe/Berlin',
|
|
'kiwi_type': 'oem',
|
|
'kiwi_vga': None,
|
|
'kiwi_wwid_wait_timeout': None,
|
|
'kiwi_xendomain': None
|
|
}
|
|
assert result == [
|
|
"kiwi_Volume_1='usr_lib|size:1024|usr/lib'",
|
|
"kiwi_Volume_2='LVRoot|freespace:500|'",
|
|
"kiwi_Volume_3='etc_volume|freespace:30|etc'",
|
|
"kiwi_Volume_4='bin_volume|size:all|/usr/bin'",
|
|
"kiwi_Volume_5='usr_bin|size:all|usr/bin'",
|
|
"kiwi_bootloader='grub2'",
|
|
"kiwi_cmdline='splash'",
|
|
"kiwi_displayname='LimeJeOS-openSUSE-13.2'",
|
|
"kiwi_firmware='efi'",
|
|
"kiwi_hwclock='utc'",
|
|
"kiwi_iname='LimeJeOS-openSUSE-13.2'",
|
|
"kiwi_iversion='1.13.2'",
|
|
"kiwi_keytable='us.map.gz'",
|
|
"kiwi_language='en_US'",
|
|
"kiwi_loader_theme='openSUSE'",
|
|
"kiwi_lvm='true'",
|
|
"kiwi_lvmgroup='systemVG'",
|
|
"kiwi_oemrootMB='2048'",
|
|
"kiwi_oemswap='true'",
|
|
"kiwi_ramonly='true'",
|
|
"kiwi_splash_theme='openSUSE'",
|
|
"kiwi_timezone='Europe/Berlin'",
|
|
"kiwi_type='oem'"
|
|
]
|
|
|
|
@patch('kiwi.system.profile.NamedTemporaryFile')
|
|
@patch('kiwi.path.Path.which')
|
|
def test_create_cpio(self, mock_which, mock_temp):
|
|
mock_which.return_value = 'cp'
|
|
mock_temp.return_value = self.tmpfile
|
|
description = XMLDescription('../data/example_dot_profile_config.xml')
|
|
profile = Profile(
|
|
XMLState(description.load(), None, 'cpio')
|
|
)
|
|
profile.create()
|
|
os.remove(self.tmpfile.name)
|
|
assert profile.dot_profile['kiwi_cpio_name'] == 'LimeJeOS-openSUSE-13.2'
|
|
|
|
def test_add(self):
|
|
self.profile.add('foo', 'bar')
|
|
assert self.profile.dot_profile['foo'] == 'bar'
|
|
|
|
def test_delete(self):
|
|
self.profile.add('foo', 'bar')
|
|
self.profile.delete('foo')
|
|
assert 'foo' not in self.profile.dot_profile
|