From a3cb11f841ccaa456fdf017095d95947bc29af11 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Thu, 23 Mar 2023 05:52:32 +0900 Subject: [PATCH] test-proc-cmdline: test proc_cmdline_get_key() actually parses EFI options Follow-up for 53aa0d02add93d8c0afa2772609372a2040c162a. --- src/test/test-proc-cmdline.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/test/test-proc-cmdline.c b/src/test/test-proc-cmdline.c index 37076c8adb1..7f8330cc245 100644 --- a/src/test/test-proc-cmdline.c +++ b/src/test/test-proc-cmdline.c @@ -26,15 +26,17 @@ TEST(proc_cmdline_parse) { } TEST(proc_cmdline_override) { + _cleanup_free_ char *line = NULL, *value = NULL; + assert_se(putenv((char*) "SYSTEMD_PROC_CMDLINE=foo_bar=quux wuff-piep=tuet zumm some_arg_with_space='foo bar' and_one_more=\"zzz aaa\"") == 0); assert_se(putenv((char*) "SYSTEMD_EFI_OPTIONS=different") == 0); /* First test if the overrides for /proc/cmdline still work */ - _cleanup_free_ char *line = NULL, *value = NULL; assert_se(proc_cmdline(&line) >= 0); + assert_se(streq(line, "foo_bar=quux wuff-piep=tuet zumm some_arg_with_space='foo bar' and_one_more=\"zzz aaa\"")); + line = mfree(line); /* Test if parsing makes uses of the override */ - assert_se(streq(line, "foo_bar=quux wuff-piep=tuet zumm some_arg_with_space='foo bar' and_one_more=\"zzz aaa\"")); assert_se(proc_cmdline_get_key("foo_bar", 0, &value) > 0 && streq_ptr(value, "quux")); value = mfree(value); @@ -44,10 +46,13 @@ TEST(proc_cmdline_override) { assert_se(proc_cmdline_get_key("and_one_more", 0, &value) > 0 && streq_ptr(value, "zzz aaa")); value = mfree(value); - assert_se(putenv((char*) "SYSTEMD_PROC_CMDLINE=") == 0); - assert_se(putenv((char*) "SYSTEMD_PROC_CMDLINE=foo_bar=quux wuff-piep=tuet zumm some_arg_with_space='foo bar' and_one_more=\"zzz aaa\"") == 0); + assert_se(putenv((char*) "SYSTEMD_PROC_CMDLINE=hoge") == 0); + assert_se(putenv((char*) "SYSTEMD_EFI_OPTIONS=foo_bar=quux wuff-piep=tuet zumm some_arg_with_space='foo bar' and_one_more=\"zzz aaa\"") == 0); + + assert_se(proc_cmdline(&line) >= 0); + assert_se(streq(line, "hoge")); + line = mfree(line); - assert_se(streq(line, "foo_bar=quux wuff-piep=tuet zumm some_arg_with_space='foo bar' and_one_more=\"zzz aaa\"")); assert_se(proc_cmdline_get_key("foo_bar", 0, &value) > 0 && streq_ptr(value, "quux")); value = mfree(value); -- 2.47.3