From f0876c7ab9329b654e3073a2b3449eca6a32c602 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Sat, 29 Jul 2023 18:47:48 +0900 Subject: [PATCH 1/2] ukify: check option length Follow-up for df4a46733a609f1673de0bebb38e89fffd70c16c. --- src/ukify/ukify.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ukify/ukify.py b/src/ukify/ukify.py index a6a4a38040..49317fbf78 100755 --- a/src/ukify/ukify.py +++ b/src/ukify/ukify.py @@ -1484,7 +1484,7 @@ def finalize_options(opts): # Figure out which syntax is being used, one of: # ukify verb --arg --arg --arg # ukify linux initrd… - if opts.positional[0] == 'inspect': + if len(opts.positional) >= 1 and opts.positional[0] == 'inspect': opts.verb = opts.positional[0] opts.files = opts.positional[1:] if not opts.files: From e3c04a5c84af5a39794a0a4963bc9916787aa5b4 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Sat, 29 Jul 2023 19:20:39 +0900 Subject: [PATCH 2/2] test-ukify: add tests for an empty argument --- src/ukify/test/test_ukify.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/ukify/test/test_ukify.py b/src/ukify/test/test_ukify.py index 3cc3492fe0..9a07f3397c 100755 --- a/src/ukify/test/test_ukify.py +++ b/src/ukify/test/test_ukify.py @@ -144,6 +144,11 @@ def test_apply_config(tmp_path): assert ns.phase_path_groups == [['enter-initrd:leave-initrd:sysinit:ready:shutdown:final']] def test_parse_args_minimal(): + try: + ukify.parse_args([]) + except ValueError as e: + print(f'expected failure: {e}') + opts = ukify.parse_args('arg1 arg2'.split()) assert opts.linux == pathlib.Path('arg1') assert opts.initrd == [pathlib.Path('arg2')]