def _add_to_value(to_param, from_params): new_param = to_param for from_param in from_params: if to_param.key == from_param.key: new_param = Parameter(to_param.key, new_param.values + from_param.values) return new_param
import pytest from pibootcmdline.parse import from_str, from_file, Parameter from pibootcmdline.write import to_str, to_file _cmdline_rootwait = 'rootwait' _cmdline_keyvalue = 'console=tty1' _mixed_cmdline_loaded = [ Parameter('console', ['tty1']), Parameter('rootwait', []) ] _cmdline_complex = 'dwc_otg.lpm_enable=0 console=tty1 root=PARTUUID=c0ff14d9-02 rootfstype=ext4 elevator=deadline ' \ 'fsck.repair=yes rootwait modules-load=dwc2,g_ether' def test_load_and_store_keyvalue(): assert to_str(from_str(_cmdline_keyvalue)) == _cmdline_keyvalue def test_load_and_store_rootwait(): assert to_str(from_str(_cmdline_rootwait)) == _cmdline_rootwait def test_load_and_complex(): assert to_str(from_str(_cmdline_complex)) == _cmdline_complex def test_store_file(empty_file):
def test_add_simple_parameter(): assert add_parameters([], 'rootwait') == [Parameter('rootwait', [])]
def test_add_to_empty_cmdline(): assert add_to_value( ([]), 'modules-load=g_ether') == [Parameter('modules-load', ['g_ether'])]
def test_add_first_value(): assert add_to_value(([Parameter('modules-load', [])]), 'modules-load=g_ether') == \ [Parameter('modules-load', ['g_ether'])]
def test_add_to_value(): assert add_to_value([Parameter('modules-load', ['dwc2'])], 'modules-load=g_ether') == \ [Parameter('modules-load', ['dwc2', 'g_ether'])]
def test_add_keyval_parameter(): assert add_parameters([Parameter('foo', ['bar'])], 'foo=moo') == \ [Parameter('foo', ['bar']), Parameter('foo', ['moo'])]
def test_from_str_list_value(): assert from_str(_cmdline_list_value) == [ Parameter('modules-load', ['dwc2', 'g_ether']) ]
def test_from_str_multi_spaces(): assert from_str(_cmdline_multi_spaces) == [ Parameter('foo', ['42']), Parameter('bar', []) ]
def test_from_str_value_equals_char(): assert from_str(_cmdline_value_with_eq) == [ Parameter('root', ['PARTUUID=c0ff14d9-02']) ]
def test_from_str_keyval(): assert from_str(_cmdline_keyvalue) == [Parameter('console', ['tty1'])]
def test_from_str_positional(): assert from_str(_cmdline_rootwait) == [Parameter('rootwait', [])]