[PATCH 2/2] test: cmd: add a test for bootd

Mehmet Fide <[email protected]>
Newsgroups gmane.comp.boot-loaders.u-boot
Message-ID <[email protected]>
From: Mehmet Fide <[email protected]>

There is no test for the bootd command. Add one to the cmd suite that
covers the documented behaviour: bootd and its "boot" alias run the
command held in the bootcmd environment variable, and the return value
of bootd is the one of that command.

Signed-off-by: Mehmet Fide <[email protected]>
---

Notes:
    checkpatch asks for a blank line before CMD_TEST(); test/cmd/command.c and
    test/cmd/exit.c place the macro directly after the closing brace, so this
    follows the surrounding tests.

 test/cmd/Makefile |  3 +++
 test/cmd/bootd.c  | 35 +++++++++++++++++++++++++++++++++++
 2 files changed, 38 insertions(+)
 create mode 100644 test/cmd/bootd.c

diff --git a/test/cmd/Makefile b/test/cmd/Makefile
index 8d36463879d..757aefa3e02 100644
--- a/test/cmd/Makefile
+++ b/test/cmd/Makefile
@@ -17,6 +17,9 @@ ifdef CONFIG_CONSOLE_RECORD
 obj-$(CONFIG_CMD_ACPI) += acpi.o
 endif
 obj-$(CONFIG_CMD_BDI) += bdinfo.o
+ifdef CONFIG_CONSOLE_RECORD
+obj-$(CONFIG_CMD_BOOTD) += bootd.o
+endif
 obj-$(CONFIG_CMD_CONFIG) += config.o
 obj-$(CONFIG_COREBOOT_SYSINFO) += coreboot.o
 obj-$(CONFIG_CMD_FDT) += fdt.o
diff --git a/test/cmd/bootd.c b/test/cmd/bootd.c
new file mode 100644
index 00000000000..83dc9ab6ecc
--- /dev/null
+++ b/test/cmd/bootd.c
@@ -0,0 +1,35 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Tests for the bootd command
+ *
+ * Copyright 2026 Mehmet Fide <[email protected]>
+ */
+
+#include <command.h>
+#include <env.h>
+#include <test/cmd.h>
+#include <test/ut.h>
+
+/* Check that bootd and its "boot" alias run the bootcmd variable */
+static int cmd_bootd_test(struct unit_test_state *uts)
+{
+	ut_assertok(env_set("bootcmd", "echo hello bootd"));
+
+	ut_assertok(run_command("bootd", 0));
+	ut_assert_nextline("hello bootd");
+	ut_assert_console_end();
+
+	ut_assertok(run_command("boot", 0));
+	ut_assert_nextline("hello bootd");
+	ut_assert_console_end();
+
+	/* the return value is the one of the command in bootcmd */
+	ut_assertok(env_set("bootcmd", "false"));
+	ut_asserteq(1, run_command("bootd", 0));
+	ut_assert_console_end();
+
+	ut_assertok(env_set("bootcmd", NULL));
+
+	return 0;
+}
+CMD_TEST(cmd_bootd_test, UTF_CONSOLE);
-- 
2.54.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.