1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-28 20:25:38 +03:00

ukify: simplify creation of parser

00e5933f57 made all the positional arguments
optional, so let's take advantage of this to simplify variuos callers.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2023-06-05 15:47:00 +02:00
parent c4fc25463e
commit 1df35a4638
2 changed files with 8 additions and 9 deletions

View File

@ -183,11 +183,10 @@ def call_ukify(opts):
# The solution with runpy gives a dictionary, which isn't great, but will do.
ukify = runpy.run_path(UKIFY, run_name='ukify')
# Create "empty" namespace. We want to override just a few settings,
# so it doesn't make sense to duplicate all the fields. We use a hack
# to pre-populate the namespace like argparse would, all defaults.
# We need to specify the two mandatory arguments to not get an error.
opts2 = ukify['create_parser']().parse_args(('A','B'))
# Create "empty" namespace. We want to override just a few settings, so it
# doesn't make sense to configure everything. We pretend to parse an empty
# argument set to prepopulate the namespace with the defaults.
opts2 = ukify['create_parser']().parse_args(())
opts2.config = config_file_location()
opts2.uname = opts.kernel_version

View File

@ -50,9 +50,9 @@ def test_round_up():
assert ukify.round_up(4097) == 8192
def test_namespace_creation():
ns = ukify.create_parser().parse_args(('A','B'))
assert ns.linux == pathlib.Path('A')
assert ns.initrd == [pathlib.Path('B')]
ns = ukify.create_parser().parse_args(())
assert ns.linux is None
assert ns.initrd == []
def test_config_example():
ex = ukify.config_example()
@ -87,7 +87,7 @@ def test_apply_config(tmp_path):
Phases = {':'.join(ukify.KNOWN_PHASES)}
'''))
ns = ukify.create_parser().parse_args(('A','B'))
ns = ukify.create_parser().parse_args(())
ns.linux = None
ns.initrd = []
ukify.apply_config(ns, config)