test: run some test commands only if HUSH_PARSER is enabled
authorJerome Forissier <jerome.forissier@linaro.org>
Wed, 16 Apr 2025 13:57:30 +0000 (15:57 +0200)
committerTom Rini <trini@konsulko.com>
Tue, 22 Apr 2025 18:26:41 +0000 (12:26 -0600)
Some test commands (such as "false", or the empty string) need
CONFIG_HUSH_PARSER=y. Fix test/cmd/command.c.

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
test/cmd/command.c

index 5ec93d4..5b1e5a7 100644 (file)
@@ -45,31 +45,32 @@ static int command_test(struct unit_test_state *uts)
                "setenv list ${list}3", strlen("setenv list 1"), 0);
        ut_assert(!strcmp("1", env_get("list")));
 
-       ut_asserteq(1, run_command("false", 0));
        ut_assertok(run_command("echo", 0));
-       ut_asserteq(1, run_command_list("false", -1, 0));
        ut_assertok(run_command_list("echo", -1, 0));
 
-#ifdef CONFIG_HUSH_PARSER
-       run_command("setenv foo 'setenv black 1\nsetenv adder 2'", 0);
-       run_command("run foo", 0);
-       ut_assertnonnull(env_get("black"));
-       ut_asserteq(0, strcmp("1", env_get("black")));
-       ut_assertnonnull(env_get("adder"));
-       ut_asserteq(0, strcmp("2", env_get("adder")));
-#endif
-
-       ut_assertok(run_command("", 0));
-       ut_assertok(run_command(" ", 0));
+       if (IS_ENABLED(CONFIG_HUSH_PARSER)) {
+               ut_asserteq(1, run_command("false", 0));
+               ut_asserteq(1, run_command_list("false", -1, 0));
+               run_command("setenv foo 'setenv black 1\nsetenv adder 2'", 0);
+               run_command("run foo", 0);
+               ut_assertnonnull(env_get("black"));
+               ut_asserteq(0, strcmp("1", env_get("black")));
+               ut_assertnonnull(env_get("adder"));
+               ut_asserteq(0, strcmp("2", env_get("adder")));
+               ut_assertok(run_command("", 0));
+               ut_assertok(run_command(" ", 0));
+       }
 
        ut_asserteq(1, run_command("'", 0));
 
        /* Variadic function test-cases */
+       if (IS_ENABLED(CONFIG_HUSH_PARSER)) {
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wformat-zero-length"
-       ut_assertok(run_commandf(""));
+               ut_assertok(run_commandf(""));
 #pragma GCC diagnostic pop
-       ut_assertok(run_commandf(" "));
+               ut_assertok(run_commandf(" "));
+       }
        ut_asserteq(1, run_commandf("'"));
 
        ut_assertok(run_commandf("env %s %s", "delete -f", "list"));